更改列:null为非空
我有一个表有几个可为空的整数列。 由于以下几个原因,这是不可取的,所以我打算将所有空值更新为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
链接地址: http://www.djcxy.com/p/2133.html