My null查询Not null约束时出错

时间:2018-02-07 10:51:44

标签: mysql sql mariadb

我有一个名为practice的表,其中存在名字列,我正在尝试执行以下查询。

alter table practice alter firstname not null ;

我正在使用这种语法:

  

1064 - 您的SQL语法出错;检查与您的MariaDB服务器版本对应的手册,以便在#var; varchar not null'附近使用正确的语法。在第1行

需要澄清语法错误。

2 个答案:

答案 0 :(得分:0)

在更改列时,您必须指定datatype并使用Modify关键字以设置nullor not null参数

例如:

alter table practice modify firstname varchar(25) not null ;

答案 1 :(得分:0)

ALTER TABLE practice MODIFY firstname varchar(64) NOT NULL;

提醒:在使用MODIFY查询时,需要再次指定完整列定义。例如,如果您的列具有DEFAULT值或列注释,则需要在MODIFY语句中将其与数据类型和NOT NULL一起指定,否则它将丢失。防范此类错误的最安全做法是从SHOW CREATE TABLE YourTable查询的输出中复制列定义,将其修改为包含NOT NULL约束,并将其粘贴到ALTER TABLE ... MODIFY ...查询中。

参考:How to add not null constraint to existing column in MySQL5.1

相关问题