回答

收藏

将具有默认值的列添加到 SQL Server 中的现有表

技术问答 技术问答 302 人阅读 | 0 人回复 | 2023-09-11

如何在SQL Server 2000 / SQL Server 2005现有表中添加默认值列?, x! e' P) y5 X: s
                                                                ) y4 a& ]) K9 R' s! ]: W
    解决方案:                                                                " c, s  F6 ~  u% s5 X& e7 K+ s
                                                                句法:
    ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}WITH VALUES
    9 `' ?6 S/ g# T0 \: h# |7 f/ m9 |
例子:
    ALTER TABLE SomeTable        ADD SomeCol Bit NULL --Or NOT NULL. CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.    DEFAULT (0)--Optional Default-Constraint.WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
    % S6 e! }/ \7 r* d5 G6 z5 ~: R, e  _
笔记:可选约束名称:
( I0 m: _& o3 U; b) M+ Q如果您省略CONSTRAINT D_SomeTable_SomeCol,SQL Server 自动生成& F; H3 K* s4 ?4 r0 p: V. M
        有趣名称的默认约束,如:DF__SomeTa__SomeC__4FB7FEF6+ Z0 _$ c9 ?5 j: A7 G0 j
可选的 With-Values 语句:: |6 H2 U! o. t3 e" w1 o1 r
仅 当WITH VALUES您的列为 Nullable
, x3 B3 o4 ]! b# e" N  R# r$ @# A        你想在现有记录中使用默认值。# l- H9 \2 |2 o  c! h- r* `
如果您的 Column 是NOT NULL,无论您是否指定,它都会自动使用) ]; w( G" S: D0 r' W! Q
        所有现有记录的默认值WITH VALUES。4 S& p# n- w2 m# G; ^( b9 [
如何使用插入默认约束:*6 D; Y3 ?+ b# `. A# a, q. o& g+ w
如果您将记录插入SomeTable并且
不*指定SomeCol如果值,默认为0。- C7 H; A) @1 q  c3 q& T  r  {
如果入 Record**并***SpecifySomeCol的值作为NULL(而且你的列允许空值),( c9 u* c/ q2 w, k9 I0 B9 I$ E
        默许约束
不会***被使用,NULL并将作为值插入。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则