查询修改列为可为空不起作用。
查询修改列为可为空不起作用。
我需要将名为start_date_data_id
的列设置为可为空。
我找到了这个答案(修改列为可为空)并尝试按照描述的方法进行操作。
该列的描述: (| start_date_data_id| bigint(20)| NO | MUL | NULL | |
)。
查询语句:
ALTER TABLE attenddb.company_group_user_settings ALTER COLUMN start_date_data_id bigint(20) NULL;
错误信息:
ERROR 1064 (42000): 在 SQL 语法中有一个错误;请检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法,位置在 'bigint(20) NULL' 附近,位于第 1 行
有人可以告诉我为什么不起作用吗?
Query for altering column to be nullable not working
尝试以下代码:
ALTER TABLE attenddb.company_group_user_settings MODIFY start_date_data_id bigint(20) NULL;
这个方法可行,谢谢。
如果这是解决方法,请接受。
好的,但还需要等待5分钟。
你的代码无效的原因是你使用了SQL Server的语法,而MySQL使用了不同的语法。
解决方法:
在MySQL中,要将列设置为可为空,应使用以下语法:
ALTER TABLE 表名 MODIFY 列名 数据类型 NULL;
所以,正确的解决方法是将上面的代码修改为:
ALTER TABLE attenddb.company_group_user_settings MODIFY start_date_data_id bigint(20) NULL;