mysql - 需要在 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”附近使用正确的语法
解决方案
使用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。
推荐阅读
- python - 如何在python中正确保存和加载包含CountVectorizer步骤的模型管道
- google-api - 使用 BatchRequest 通过 Google Classroom API 添加许多课程时出现错误“操作已中止”
- mysql - Google Apps 脚本 setTimestamp 到 mysql 数据库
- android - 我已正确连接到 firebae 项目,但“.info/connected”总是返回 false,我也有良好的互联网连接
- python - 将重叠图添加到 pdf 多页
- php - 在 URL 中更改/插入字符
- c++ - 错误:在 lambda 参数声明中使用 'auto' 仅适用于 -std=c++1y 或 -std=gnu++1y [-Werror]
- python-3.x - AttributeError:“MongoAlchemy”对象没有属性“插入”MongoDB Flask MongoAlchemy
- javascript - 在 MS Edge 上触摸时不会触发嵌套在按钮中的 span 元素的 onclick 事件
- json - Anorm (Scala) 如何从联合表中返回 Json?