我在MSSQL中有一个表,其中有一列的值不能为空。但是在一些更新操作中,我希望在更新其他列时将该列设置为null。有没有这样的方法可以做到这一点,或者我应该重新创建表,允许列采用空值。
发布于 2012-03-20 22:05:10
您的列应该允许为null:alter table T1 alter column C1 int null
发布于 2012-03-20 22:06:50
您可能会这样做:
"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"
发布于 2012-03-20 22:06:15
您将需要更新架构。别无他法。这就是限制的原因。如果具有不会丢失的数据,则可以执行alter以避免完全重新创建表
https://stackoverflow.com/questions/9788339
复制相似问题