我有一个表有几个可以为空的整数列。由于多种原因,这是不可取的,因此我希望将所有空值更新为 0,然后将这些列设置为NOT NULL
。除了将空值更改为0
,还必须保留数据。
我正在寻找特定的 SQL 语法来将列(称为ColumnA
)更改为 “ not null
”。假设数据已更新为不包含空值。
使用SQL Server 2000 。
首先,使所有当前的 NULL 值消失:
UPDATE [Table] SET [Column]=0 WHERE [Column] IS NULL
然后,更新表定义以禁止 NULL:
ALTER TABLE [Table] ALTER COLUMN [Column] INTEGER NOT NULL
我有同样的问题,但该字段用于默认为 null,现在我想将其默认为 0. 这需要在 mdb 的解决方案后再添加一行:
ALTER TABLE [Table] ADD CONSTRAINT [Constraint] DEFAULT 0 FOR [Column];
您必须分两步完成:
UPDATE MyTable SET MyNullableColumn = 0
WHERE MyNullableColumn IS NULL
ALTER TABLE MyTable
ALTER COLUMN MyNullableColumn MyNullableColumnDatatype NOT NULL