首页 > 解决方案 > 需要在 MySQL 中使用 ALTER COLUMN 将列类型更改为 NOT NULL AUTO_INCREAMENT

问题描述

我想将当前类型为 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”附近使用正确的语法

标签: mysqlmariadb

解决方案


使用MODIFY COLUMN

ALTER TABLE users
MODIFY COLUMN ID INTEGER NOT NULL AUTO_INCREMENT;

还有一个 ALTER COLUMN 类型的命令,但它仅用于指定列的默认值。有关示例,请参阅https://dev.mysql.com/doc/refman/8.0/en/alter-table.html


推荐阅读