将具有默认值的列添加到 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并将作为值插入。 |
|
|
|
|
|