我可以在SQL Server中的添加列语句中创建命名默认约束吗?
-
04-10-2019 - |
题
在SQL Server中,我在表上有一个新列:
ALTER TABLE t_tableName
ADD newColumn NOT NULL
这会失败,因为我在未指定默认约束的情况下指定未指定零。该表不应具有默认约束。
为了解决这个问题,我可以使用默认约束创建表,然后将其删除。
但是,似乎没有任何方法可以指定默认约束应将其命名为此语句的一部分,因此我摆脱它的唯一方法是拥有一个存储的过程,该过程在SYS.Default_constraints中查看它桌子。
对于可能发生的操作来说,这有点混乱/冗长。有人对此有更好的解决方案吗?
解决方案
这应该有效:
ALTER TABLE t_tableName
ADD newColumn VARCHAR(50)
CONSTRAINT YourContraintName DEFAULT '' NOT NULL
其他提示
ALTER TABLE t_tableName
ADD newColumn int NOT NULL
CONSTRAINT DF_defaultvalue DEFAULT (1)
不隶属于 StackOverflow