MySQL 5.0.45
修改一个表以允许一个列为空的语法是什么,或者这个有什么错误:
ALTER mytable MODIFY mycolumn varchar(255) null;
我将手册解释为只是运行上述操作,它将重新创建列,这次允许为空。服务器告诉我我有语法错误。我就是看不到他们。
MySQL 5.0.45
修改一个表以允许一个列为空的语法是什么,或者这个有什么错误:
ALTER mytable MODIFY mycolumn varchar(255) null;
我将手册解释为只是运行上述操作,它将重新创建列,这次允许为空。服务器告诉我我有语法错误。我就是看不到他们。
当前回答
我的解决方案和@Krishnrohit一样:
ALTER TABLE `table` CHANGE `column_current_name` `new_column_name` DATETIME NULL;
我实际上有列设置为NOT NULL,但上面的查询它被更改为NULL。
附注:我知道这是一个老帖子,但似乎没有人承认CHANGE也是正确的。
其他回答
我的解决方案和@Krishnrohit一样:
ALTER TABLE `table` CHANGE `column_current_name` `new_column_name` DATETIME NULL;
我实际上有列设置为NOT NULL,但上面的查询它被更改为NULL。
附注:我知道这是一个老帖子,但似乎没有人承认CHANGE也是正确的。
在某些情况下(如果你得到“ERROR 1064 (42000): you have an ERROR in your SQL syntax;…”),你需要这样做
ALTER TABLE mytable MODIFY mytable.mycolumn varchar(255);
我的解决方案:
ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL
例如:
ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;
您的语法错误是由查询中缺少“表”引起的
ALTER TABLE mytable MODIFY mycolumn varchar(255) null;
使用: 修改mycolumn的VARCHAR(255)