我有一张表格,其中有几个可空的整数列。这是不理想的,因此我希望将所有的空值更新为0,然后将这些列设置为NOT NULL
。除了将空值更改为0
之外,必须保留数据。
我正在寻找将某个列(称之为ColumnA
)修改为“not null
”的具体SQL语法。假设数据已经更新,不包含空值。
使用 SQL Server 2000。
我有一张表格,其中有几个可空的整数列。这是不理想的,因此我希望将所有的空值更新为0,然后将这些列设置为NOT NULL
。除了将空值更改为0
之外,必须保留数据。
我正在寻找将某个列(称之为ColumnA
)修改为“not null
”的具体SQL语法。假设数据已经更新,不包含空值。
使用 SQL Server 2000。
TABLE NAME=EMPLOYEE
我想将列EMPLOYEE_NAME
更改为NOT NULL
。可以使用以下查询完成此任务:
ALTER TABLE EMPLOYEE MODIFY EMPLOYEE.EMPLOYEE_NAME datatype NOT NULL;
ALTER TABLE mytable modify mycolumn datatype NOT NULL;
首先确保你要更改的列没有空值 select count(*) from table where column's_name is null
填充缺失值。你可以用空字符串、0、平均值或中位数或插值来替换空值。这取决于你的回填策略或前向填充策略。
确定列值是否需要唯一或非唯一。如果需要唯一,则添加唯一约束。否则,查看性能是否足够或是否需要添加索引。
对于JDK中内置的javaDB(Apache Derby的Oracle支持版本),以下方法适用于我:
alter table [table name] alter column [column name] not null;
NOT NULL
时会产生大量的日志记录。 - Martin Smith