当前位置:  开发笔记 > 后端 > 正文

如何修改MySQL列以允许NULL?

如何解决《如何修改MySQL列以允许NULL?》经验,为你挑选了4个好方法。

MySQL 5.0.45

修改表以允许列为空的语法是什么,或者替换为什么错误:

ALTER mytable MODIFY mycolumn varchar(255) null;

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



1> Daniel Spiew..:

您需要以下内容:

ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);

默认情况下,列可以为空.只要未声明列,UNIQUE或者不NOT NULL应该有任何问题.


有一个边缘情况是`TIMESTAMP`类型,根据你的MySQL版本和配置可以是`NOT NULL`指定`NULL`,如@ConroyP建议更正确.

2> ConroyP..:

您的语法错误是由查询中缺少"表"引起的

ALTER TABLE mytable MODIFY mycolumn varchar(255) null;


这实际上是正确的答案 - 虽然不需要NULL子句,但提供它没有任何问题.ALTER TABLE语句中缺少的TABLE是真正的问题.

3> 小智..:

我的解决方案

ALTER TABLE table_name CHANGE column_name column_name type DEFAULT NULL

例如:

ALTER TABLE SCHEDULE CHANGE date date DATETIME DEFAULT NULL;



4> Gerald Senar..:

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

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

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有