如何为默认约束指定列名?

时间:2009-04-22 19:46:12

标签: sql-server

我知道我可以像这样指定内联:

CREATE TABLE dbo.MyTable
(
    Id INT NOT NULL CONSTRAINT PK_MyTable_Id PRIMARY KEY IDENTITY,
    Created DATETIME NOT NULL CONSTRAINT DF_MyTable_Created DEFAULT GETDATE()
)

但我想把所有约束放在表定义的末尾,以使它们分开。如果我把它放在表定义的末尾,我似乎无法找到如何为默认约束命名列。我可以使用主键/外键和唯一约束来完成它,但不知道如何使用默认约束指定列名。

CREATE TABLE dbo.MyTable
(
    Id INT NOT NULL IDENTITY,
    Created DATETIME NOT NULL,
    CONSTRAINT PK_MyTable_Id PRIMARY KEY( Id ),
    CONSTRAINT DF_MyTable_Created DEFAULT GETDATE()
)

1 个答案:

答案 0 :(得分:2)

使用ALTER TABLE ADD .....语法

分开 像这样

CREATE TABLE dbo.MyTable
(
    Id INT NOT NULL IDENTITY,
    Created DATETIME NOT NULL

)
GO

ALTER TABLE dbo.MyTable ADD CONSTRAINT PK_MyTable_Id PRIMARY KEY( Id ),
CONSTRAINT DF_MyTable_Created DEFAULT GETDATE() FOR Created
GO