在 SQL Server 中,我在表上有一个新列:
ALTER TABLE t_tableName ADD newColumn NOT NULL
这失败了,因为我在没有指定默认约束的情况下指定了 NOT NULL。该表不应有默认约束。
为了解决这个问题,我可以使用默认约束创建表,然后将其删除。
但是,似乎没有任何方法可以指定默认约束应命名为该语句的一部分,因此我摆脱它的唯一方法是拥有一个在 sys.default_constraints 中查找它的存储过程桌子。
对于可能经常发生的操作来说,这有点混乱/冗长。有没有人对此有更好的解决方案?
这应该有效:
ALTER TABLE t_tableName ADD newColumn VARCHAR(50) CONSTRAINT YourContraintName DEFAULT '' NOT NULL