我正在尝试向现有的表中添加一个新列,但在尝试插入非空列时总是出现错误。
我知道这对有大量数据的现有数据库来说是一个问题,但我的数据库还没有数据,所以我很困惑为什么会出现这个错误。
有没有一个简单的解决方案(我不想添加默认值)
发布于 2013-06-21 03:12:54
您有两种选择,一种是提供一个默认值,另一种是添加不带非空约束的字段,然后在填充字段后修改表以添加非空约束。
发布于 2013-06-21 03:52:23
当表为空时,这种方法可以很好地工作。
CREATE TABLE X(Y INT)
ALTER TABLE T ADD Y INT NOT NULL不需要添加临时缺省约束或将其创建为NULL,然后填充ALTER,除非表实际上不像声明的那样是空的。
发布于 2013-06-21 04:45:07
我不认为那张桌子像你想的那么空。
试试这个:
Truncate Table <YourTableName>然后尝试alter table语句。
https://stackoverflow.com/questions/17221859
复制相似问题