首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ALTER table -在MySQL中添加自动增量

ALTER table -在MySQL中添加自动增量
EN

Stack Overflow用户
提问于 2011-08-05 21:49:54
回答 8查看 327.3K关注 0票数 78

我用itemID列在MySQL中创建了一个表。

在创建表之后,现在我想将此列更改为AUTOINCREMENT

如何使用ALTER语句来完成此操作

表定义:

ALLITEMS (itemid int(10) unsigned, itemname varchar(50))

我使用了以下代码,但它抛出了一个语法错误

错误:语法不正确的

代码语言:javascript
运行
复制
ALTER TABLE allitems
MODIFY itemid INT(10) UNSIGNED AUTOINCREMENT; 
EN

Stack Overflow用户

发布于 2016-08-01 03:38:57

向OP的现有表添加AUTO_INCREMENT主键的基本语法:

代码语言:javascript
运行
复制
ALTER TABLE allitems
MODIFY itemid INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY;

或者对于新表,下面是来自the docs的语法示例

代码语言:javascript
运行
复制
CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
);

陷阱和注意事项:

  • AUTO_INCREMENT列上必须有索引。(通常,您会希望它是主键,但MySQL不要求这样做。)
  • AUTO_INCREMENT列设置为UNSIGNED通常是个好主意。在文档中:如果可能,使用UNSIGNED属性以允许更大的范围。

  • 当使用CHANGEMODIFY子句创建列代码时(或者实际上,每当您使用CHANGEMODIFY子句时),您应该注意包含该列的所有修饰符,如NOT NULLUNSIGNED,这些修饰符在您调用< AUTO_INCREMENT >d21CHANGE>时出现在表定义中。否则这些修饰符将丢失。
票数 8
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6957370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档