1

我正在尝试向现有表中添加一个新列,但在尝试插入非空列时不断出现错误。

我了解这对于具有大量数据的现有数据库来说将是一个问题,但我的数据库还没有数据,所以我对为什么会收到此错误感到困惑。

是否有一个简单的解决方案(我不想添加默认值)

4

3 回答 3

2

您有两个选择,给它一个默认值,或者添加没有非空约束的字段,然后在填充字段后更改表以添加非空约束。

于 2013-06-20T19:12:53.673 回答
1

当表格为空时,这可以正常工作。

CREATE TABLE X(Y INT)

ALTER TABLE T ADD Y INT NOT NULL

无需添加临时默认约束或将其创建为NULL,然后填充,ALTER除非该表实际上不是如所声称的那样为空。

于 2013-06-20T19:52:23.177 回答
1

我不认为那张桌子像你想象的那么空。

尝试这个:

Truncate Table <YourTableName>

然后尝试alter table 语句。

于 2013-06-20T20:45:06.987 回答