在创建表的末尾添加默认约束



如何在创建表的末尾添加默认约束?

我想在最后有一条独立的行,比如

CREATE TABLE myTable (
table_id       INT NOT NULL,
firstColumn    NVARCHAR(10),
secondColumn   INT,
thirdColumn    INT,
CONSTRAINT DEF_secColumn DEFAULT 0 FOR secondColumn
)

它不起作用。我收到错误消息

"for"附近的语法不正确。

你能帮我吗?非常感谢转发!

您应该在需要默认值的字段旁边使用 default,例如:

CREATE TABLE myTable (
table_id       INT NOT NULL,
firstColumn    NVARCHAR(10),
secondColumn   INT DEFAULT 0,
thirdColumn    INT
)

或者,如果您确实要添加约束,则可以稍后使用ALTER TABLE添加它:

CREATE TABLE myTable (
table_id       INT NOT NULL,
firstColumn    NVARCHAR(10),
secondColumn   INT,
thirdColumn    INT
)
ALTER TABLE myTable ADD CONSTRAINT DEF_secColumn DEFAULT 0 FOR [secondColumn]

或@jeroen-mostert建议的第3个选项

CREATE TABLE myTable (
table_id       INT NOT NULL,
firstColumn    NVARCHAR(10),
secondColumn   INT CONSTRAINT DEF_secColumn DEFAULT 0,
thirdColumn    INT
)

最新更新