我正在尝试向现有表中添加一个新列,但在尝试插入非空列时不断出现错误。
我了解这对于具有大量数据的现有数据库来说将是一个问题,但我的数据库还没有数据,所以我对为什么会收到此错误感到困惑。
是否有一个简单的解决方案(我不想添加默认值)
我正在尝试向现有表中添加一个新列,但在尝试插入非空列时不断出现错误。
我了解这对于具有大量数据的现有数据库来说将是一个问题,但我的数据库还没有数据,所以我对为什么会收到此错误感到困惑。
是否有一个简单的解决方案(我不想添加默认值)
您有两个选择,给它一个默认值,或者添加没有非空约束的字段,然后在填充字段后更改表以添加非空约束。
当表格为空时,这可以正常工作。
CREATE TABLE X(Y INT)
ALTER TABLE T ADD Y INT NOT NULL
无需添加临时默认约束或将其创建为NULL
,然后填充,ALTER
除非该表实际上不是如所声称的那样为空。
我不认为那张桌子像你想象的那么空。
尝试这个:
Truncate Table <YourTableName>
然后尝试alter table 语句。