【发布时间】:2020-12-11 15:06:17
【问题描述】:
我想将当前类型为 INTEGER 但具有 NULL 值的列“ID”更改为 INTEGER NOT NULL AUTO_INCREMENT 类型。但我收到错误。我的SQL语法如下。
ALTER TABLE users
ALTER COLUMN ID INTEGER NOT NULL AUTO_INCREMENT;
上面的代码给了我语法错误。
然后我尝试了,
ALTER TABLE users
ALTER COLUMN ID INTEGER NOT NULL;
这也给了我类似的语法错误
1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 2 行的“INTEGER NOT NULL”附近使用正确的语法
【问题讨论】:
-
请阅读参考手册。有 ALTER COLUMN、CHANGE COLUMN 和 MODIFY COLUMN,每个都执行自己的操作。而且您不需要指定 NOT NULL - AUTO_INCREMENT 必须是主键,其表达式中提到的所有列都自动设置为 NOT NULL。