更改列: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

    上一篇: Altering a column: null to not null

    下一篇: Avoid synchronized(this) in Java?