的MySQL 5.0.45如何修改MySQL列以允许NULL?
什么是改变一个表,让一列是null语法,交替什么不对的:
ALTER mytable MODIFY mycolumn varchar(255) null;
我解释手册,因为刚好运行上面,它会重新创建列,这次允许null。服务器告诉我我有语法错误。我只是看不到他们。
的MySQL 5.0.45如何修改MySQL列以允许NULL?
什么是改变一个表,让一列是null语法,交替什么不对的:
ALTER mytable MODIFY mycolumn varchar(255) null;
我解释手册,因为刚好运行上面,它会重新创建列,这次允许null。服务器告诉我我有语法错误。我只是看不到他们。
你想以下几点:
ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);
列默认为空。只要列没有被宣布为UNIQUE
或NOT NULL
,就不应该有任何问题。
有边缘的情况下这是'TIMESTAMP`类型,这取决于你的MySQL版本和配置可以`不NULL`指定@ConroyP建议的`NULL`更正确。 – 2016-01-26 13:37:41
这不适合我!专栏没有改变。也许是因为我对使用该列的另一个表有一个约束(当不为空时)。 – Rocologo 2016-12-18 10:09:27
你的语法错误是由缺少“表”查询
ALTER TABLE mytable MODIFY mycolumn varchar(255) null;
这实际上是正确的答案 - 虽然NULL子句不是必需的,但提供它没有任何问题。 ALTER TABLE语句中缺少的TABLE是真正的问题。 – SamStephens 2014-11-20 20:38:14
在某些情况下(如果出现“Error 1064(42000)原因造成的:你在你的SQL语法错误; .. “)。你需要做的
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);
列不是唯一的或其他任何类似的 – zmf 2008-10-17 16:53:59