将具有默认值的列添加到 SQL Server 中的现有表
技术问答
349 人阅读
|
0 人回复
|
2023-09-11
|
如何在SQL Server 2000 / SQL Server 2005现有表中添加默认值列?
) z2 Q! T- A7 [$ v* `! k
( a* |# `3 ^. m 解决方案: , x/ X! J# ~* ^4 e" \! J* t$ q
句法:ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}WITH VALUES
" d8 C; J/ b K% l7 a 例子: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.% B: @% Q5 \+ p1 h" v6 ^
笔记:可选约束名称:
, l8 X' o. W: S; k" O' a/ f4 u2 K- T如果您省略CONSTRAINT D_SomeTable_SomeCol,SQL Server 自动生成
) ~0 \! D6 l6 u6 x: b 有趣名称的默认约束,如:DF__SomeTa__SomeC__4FB7FEF64 K! {4 y3 n4 a2 T' n. s
可选的 With-Values 语句:: C b h! w+ N" g5 e; Z
仅 当WITH VALUES您的列为 Nullable7 |1 w/ S9 N4 Z+ `" S) l
你想在现有记录中使用默认值。" c9 D$ P/ ?. p) y+ }2 c
如果您的 Column 是NOT NULL,无论您是否指定,它都会自动使用
* r& O: K$ I+ r" P5 i 所有现有记录的默认值WITH VALUES。
2 m8 B$ h1 N/ d+ u5 R& A" S$ [如何使用插入默认约束:*& O2 h+ F2 T8 X- @
如果您将记录插入SomeTable并且不*指定SomeCol如果值,默认为0。! i: V' M# F6 m( s
如果入 Record**并***SpecifySomeCol的值作为NULL(而且你的列允许空值),! M/ p3 h- D0 N6 y( N
默许约束不会***被使用,NULL并将作为值插入。 |
|
|
|
|
|