回答

收藏

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

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

如何在SQL Server 2000 / SQL Server 2005现有表中添加默认值列?) Z/ L( K! @" C. U* q
                                                               
2 l  x: W/ H8 z+ U8 l    解决方案:                                                                8 T8 J. e! V$ E
                                                                句法:
    ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}WITH VALUES1 `% _5 E& d+ Z
例子:
    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.
    1 T" z2 i# l1 G; @  I4 ?
笔记:可选约束名称:5 B/ v3 H8 f) o$ C7 K
如果您省略CONSTRAINT D_SomeTable_SomeCol,SQL Server 自动生成7 n1 g7 d  A6 q  i) a
        有趣名称的默认约束,如:DF__SomeTa__SomeC__4FB7FEF66 W! S5 T# S: ^) B" t' ?7 p0 M' x
可选的 With-Values 语句:
% Y7 ~3 I1 I7 l5 N6 T/ `) D仅 当WITH VALUES您的列为 Nullable7 o9 ~3 O/ r  W$ r, P
        你想在现有记录中使用默认值。( b* z5 K% S* x1 R  q' N0 J
如果您的 Column 是NOT NULL,无论您是否指定,它都会自动使用
1 H( D" J7 l- M7 T' L/ E        所有现有记录的默认值WITH VALUES。# A% @% X4 ^) k6 D; d
如何使用插入默认约束:*- W: @; d! v6 n3 q
如果您将记录插入SomeTable并且
不*指定SomeCol如果值,默认为0。
2 H$ j& o* o! I- ?- u( L6 Q  r" H如果入 Record**并***SpecifySomeCol的值作为NULL(而且你的列允许空值),3 T( {& b; C# I* \
        默许约束
不会***被使用,NULL并将作为值插入。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则