我有一个表,其中包含几个可为空的整数列。由于多种原因,这是不可取的,因此我希望将所有null更新为0,然后将这些列设置为NOT NULL。除了将null更改为之外0,还必须保留数据。我正在寻找将一列(称为)更改为“ ” 的特定SQL语法。假设数据已更新为不包含空值。ColumnAnot null使用SQL Server 2000。
3 回答
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
首先,使所有当前的NULL值消失:
UPDATE [Table] SET [Column]=0 WHERE [Column] IS NULL
然后,更新表定义以禁止使用NULL:
ALTER TABLE [Table] ALTER COLUMN [Column] INTEGER NOT NULL
MM们
TA贡献1886条经验 获得超2个赞
我遇到了同样的问题,但是该字段曾经默认设置为null,现在我想将其默认设置为0。这需要在mdb的解决方案之后再添加一行:
ALTER TABLE [Table] ADD CONSTRAINT [Constraint] DEFAULT 0 FOR [Column];
慕后森
TA贡献1802条经验 获得超5个赞
您将必须分两个步骤进行操作:
更新表,以使该列中没有空值。
UPDATE MyTable SET MyNullableColumn = 0
WHERE MyNullableColumn IS NULL
更改表以更改列的属性
ALTER TABLE MyTable
ALTER COLUMN MyNullableColumn MyNullableColumnDatatype NOT NULL
- 3 回答
- 0 关注
- 645 浏览
添加回答
举报
0/150
提交
取消