向 SQL Server 中的现有表添加具有默认值的列
技术问答
260 人阅读
|
0 人回复
|
2023-09-12
|
如何在SQL Server 2000 / SQL Server 在2005年现有表中添加默认值列?
7 h3 B6 I! D3 M) V" l 0 e- \2 @, l5 o1 J
解决方案:
4 S8 V2 D, i' O, K2 _! }3 t7 |) s 句法:
, a* ?# [6 t6 H8 I8 R4 H: X# nALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}WITH VALUES例子:5 ?1 x0 k7 X; d4 x% k% h9 A+ T
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.笔记:2 Q( W* n5 ~! n* [$ v
可选约束名称:
1 V+ n7 d3 J; c$ v+ d假如你省略了,CONSTRAINT D_SomeTable_SomeCol那么 SQL Server 自动生成& Y9 S0 k3 A J" v" C
有趣名称的默认约束,如:DF__SomeTa__SomeC__4FB7FEF6- [" O. B* W9 y; ~* `& R2 l# x' [
可选值声明:
8 H9 R/ i5 o i g, C$ U$ ~1 Q本WITH VALUES当你的列可以是空的时候,你需要' B2 @5 a8 N; G, L( M/ G
现有记录的默认值用于 和所需价值。
+ B5 L: ]& Z# o8 n如果您的Column为NOT NULL,则. i5 }% ] w* R, [5 U
无论您是否指定,它都会自动使用所有现有记录的默认值WITH VALUES。
7 P' H$ ]/ W+ U8 O _% f. w插入如何与默认约束一起工作:% V# I; ?/ @4 q
若插入 RecordSomeTable而且没有指定SomeCol如果值,默认为0。$ d7 L2 M9 T0 f# H/ g
如果入 Record并将其SomeCol值指定为NULL(并且您的列允许空值),) I0 M) l2 b0 E; U1 K) r
不会用Default-Constraint 并将NULL作为值插入。- d6 o2 J# \6 w# L" n" i* K
笔记是基于以下每个人的良好反馈。 |
|
|
|
|
|