如何修改MySQL列以允许NULL?

MySQL 5.0.45

什么是语法来改变一个表,以允许列为空,或者这是什么问题:

ALTER mytable MODIFY mycolumn varchar(255) null; 

我解释手册只是运行上面,它会重新创build列,这次允许null。 服务器告诉我我有语法错误。 我只是没有看到他们。

你需要以下内容:

 ALTER TABLE mytable MODIFY mycolumn VARCHAR(255); 

列默认为空。 只要该列未被声明为UNIQUENOT NULL ,就不应该有任何问题。

您的语法错误是由查询中缺less“表”引起的

 ALTER TABLE mytable MODIFY mycolumn varchar(255) null; 

我的解决scheme

 ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL 

例如:

 ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL; 

在某些情况下(如果你得到“ERROR 1064(42000):你的SQL语法错误; …”)你需要做的

 ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255); 

使用: ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);