Can I change a column from NOT NULL to NULL without dropping it?

需要更改表以允许列上的空值——但不能删除列... 我可以这样做吗?试着说:

ALTER TABLE myTable MODIFY myColumn NULL;

但是没有用。

203989 次浏览

你当然可以。

ALTER TABLE myTable ALTER COLUMN myColumn int NULL

只需将您的列的数据类型替换为 int 即可。

ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL

其中 {DataType}是该列的当前数据类型(例如 intvarchar(10))

对于 MYSQL

ALTER TABLE myTable MODIFY myColumn {DataType} NULL

语法非常基于数据库服务

SQL Server/MS Access:

ALTER TABLE table_name
ALTER COLUMN column_name datatype NULL;

我的 SQL/Oracle (旧版本10G) :

ALTER TABLE table_name
MODIFY COLUMN column_name datatype NULL;

Oracle 10G 及更高版本:

ALTER TABLE table_name
MODIFY column_name datatype NULL;

如果你想设置一个默认值,那么:

ALTER TABLE table_name
ALTER COLUMN column_name datatype DEFAULT default_value;