回答

收藏

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

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

如何在SQL Server 2000 / SQL Server 2005现有表中添加默认值列?
8 W( x- s0 I' I5 F' _  ~2 B                                                                4 R/ G. c) M9 \: F
    解决方案:                                                                0 ]8 j9 ~. `8 U  H
                                                                句法:
    ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}WITH VALUES$ P7 D6 u7 E# j/ Q# E6 M
例子:
    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.
    , ]! f) A+ y" D* a; |' h
笔记:可选约束名称:! {) P& H1 Y. x8 }- v2 K
如果您省略CONSTRAINT D_SomeTable_SomeCol,SQL Server 自动生成
& d8 j& s8 c  B6 y2 U        有趣名称的默认约束,如:DF__SomeTa__SomeC__4FB7FEF6& H8 f9 c. U# j" ~1 H3 `) k, C6 j
可选的 With-Values 语句:
$ V* H8 G$ o( {. c: Q4 N: ~仅 当WITH VALUES您的列为 Nullable- U- l. H2 `+ Y9 t* u4 R8 a4 m
        你想在现有记录中使用默认值。
7 N/ T& f; u- q, \# V: G如果您的 Column 是NOT NULL,无论您是否指定,它都会自动使用
- P3 V# a" @1 T7 |; a0 u! h        所有现有记录的默认值WITH VALUES。
+ x( N# J* X# C2 o- E如何使用插入默认约束:*
$ t! Q1 Z, e, v% J/ S4 K. Z% X如果您将记录插入SomeTable并且
不*指定SomeCol如果值,默认为0。- r! ]& L. f+ e$ d" W
如果入 Record**并***SpecifySomeCol的值作为NULL(而且你的列允许空值),( w3 z) {: @4 a5 V6 J6 W* ^
        默许约束
不会***被使用,NULL并将作为值插入。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则