添加列时,如何为默认值指定命名约束?

时间:2018-04-20 11:30:45

标签: sql sql-server

我正在使用部署后迁移脚本在部署项目时从命令行运行sql命令。

在sql server中创建表时:

CREATE TABLE [test] (
    [id] INTEGER NOT NULL IDENTITY (1,1),
    [somefield] VARCHAR(255) NOT NULL DEFAULT 'y',
    PRIMARY KEY ([id])
)

如果我想删除列somefield,我会从The object 'DF__test__somefiel__3C74E891' is dependent on column 'somefield'的行中收到来自sql server的消息。消息末尾的字母/数字序列由服务器生成,因此我无法预测它将是什么。我要做的是复制该约束名称,并在删除列之前删除约束。这是我要删除的手动操作。

问题

有没有办法在创建表时命名约束,这样我就可以在删除列之前自动删除约束?

1 个答案:

答案 0 :(得分:1)

CREATE TABLE [test] (
    [id] INTEGER NOT NULL IDENTITY (1,1),
    [somefield] VARCHAR(255) NOT NULL constraint [Desired Name] DEFAULT 'y',
    PRIMARY KEY ([id])
)