小编典典

我可以在 SQL Server 的添加列语句中创建命名默认约束吗?

all

在 SQL Server 中,我在表上有一个新列:

ALTER TABLE t_tableName 
    ADD newColumn NOT NULL

这失败了,因为我在没有指定默认约束的情况下指定了 NOT NULL。该表不应有默认约束。

为了解决这个问题,我可以使用默认约束创建表,然后将其删除。

但是,似乎没有任何方法可以指定默认约束应命名为该语句的一部分,因此我摆脱它的唯一方法是拥有一个在 sys.default_constraints
中查找它的存储过程桌子。

对于可能经常发生的操作来说,这有点混乱/冗长。有没有人对此有更好的解决方案?


阅读 56

收藏
2022-07-14

共1个答案

小编典典

这应该有效:

ALTER TABLE t_tableName 
    ADD newColumn VARCHAR(50)
    CONSTRAINT YourContraintName DEFAULT '' NOT NULL
2022-07-14