SQL更新以允许空值

时间:2012-03-20 14:02:47

标签: sql-server-2008

我在MSSQL中有一个表,其中一列的值不能为null。但有更新 当我更新其他列时,我想将该列设置为null的操作。有没有这样的方法来实现这一点,或者我应该重新创建表,允许列采用空值。

4 个答案:

答案 0 :(得分:45)

您应该为列添加null:alter table T1 alter column C1 int null

答案 1 :(得分:1)

你可能会这样做:

    "ALTER TABLE table ADD COLUMN newcolumn VARCHAR(255)"
    "UPDATE TABLE table SET newcolumn = oldcolumn"
    "ALTER TABLE table DROP COLUMN oldcolumn"
    "ALTER TABLE table ADD COLUMN oldcolumn VARCHAR(255)"
    "UPDATE TABLE table SET oldcolumn = newcolumn"

答案 2 :(得分:0)

您需要更新架构。没有其他办法。这就是限制的原因。如果您有不会丢失的数据,则可以执行更改以避免完全重新创建表,即

答案 3 :(得分:0)

使用ALTER TABLE语句允许空值。

请参阅http://msdn.microsoft.com/en-us/library/ms190273.aspx