小编典典

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

sql

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


阅读 68

收藏
2022-01-23

共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 语句:
仅 当WITH VALUES您的列为 Nullable
并且您希望将默认值用于现有记录时才需要。
如果您的 Column 是NOT NULL,那么无论您是否指定,它都会自动使用
所有现有记录的默认值WITH VALUES

插入如何与默认约束一起使用:*
如果您将记录插入SomeTable并且
不*指定SomeCol的值,那么它将默认为0
如果您插入 Record**并***SpecifySomeCol的值作为NULL(并且您的列允许空值),
则默认约束将
不会***被使用,NULL并将作为值插入。

2022-01-23