是否可以在不删除列的情况下将列从NOT NULL更改为NULL?


98

需要更改表以允许列为空-但不能删除列...我可以这样做吗?正在尝试类似:

ALTER TABLE myTable MODIFY myColumn NULL;

但是无济于事...

Answers:


200
ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL

50

你当然可以。

ALTER TABLE myTable ALTER COLUMN myColumn int NULL

只需用int替换列的任何数据类型即可。


1
其实你的答案是对的。但未被接受为最佳答案。phhhh。导致此问题(ALTER TABLE myTable ALTER COLUMN myColumn {DataType} NULL)不起作用
UfukSURMEN

我尝试过alter column,但不适用于最新的mysql服务器。我尝试了modify column,它起作用了。奇怪...
Kostas Andrianos

1
@UfukSURMEN,{DataType}意味着您应该放置任何数据类型来代替它。答案本质上是一样的,Mark只是对自己进行了更多解释(这本该为他赢得公认的答案,但这不是我的电话)。
泰克亲王

@PrinceTyke确实如此。
UfukSURMEN

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.