ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
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.
可选的约束名称:
如果你漏掉了CONSTRAINT D_SomeTable_SomeCol
,那么SQL Server会自动生成
一个默认的约束,有一个有趣的名字,比如。DF__SomeTa__SomeC__4FB7FEF6
可选的With-Values语句:
只有当你的柱子是Nullable<br />时才需要WITH VALUES
。
并且你希望对现有记录使用默认值。
如果你的列是NOT NULL
,那么它将自动使用默认值<br />。
对于所有的现有记录,无论你是否指定 "WITH VALUES"。
插入时如何使用默认约束:
如果你向SomeTable
插入一条记录,但没有指定SomeCol
'的值,那么它将默认为0
。
如果你插入一条记录,和*指定SomeCol'的值为
NULL'(并且你的列允许NULL),
<nbsp; 那么默认-约束将不被使用,`NULL'将被插入作为值< br />。
注释是基于下面大家的精彩反馈。
特别感谢:
@Yatrix, @WalterStabosz, @YahooSerious, and @StackMan的评论。