小编典典

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

sql

如何在SQL Server 2000 / SQL Server 2005中的现有表中添加具有默认值的列?


阅读 238

收藏
2021-05-30

共1个答案

小编典典

句法:

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当你的列可以为空时,才需要
和想要的价值用于现有记录的默认值。
如果您的Column为NOT NULL,则
无论您是否指定,它都会自动对所有现有记录使用默认值WITH VALUES。

插入如何与默认约束一起工作:
如果您插入一个 RecordSomeTable并且没有指定SomeCol的值,那么它将默认为0。
如果您插入 Record并将其SomeCol值指定为NULL(并且您的列允许空值),
则不会使用Default-Constraint 并将NULL作为值插入。

笔记是基于下面每个人的很好的反馈。

2021-05-30