首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >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))

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

错误:语法不正确的

ALTER TABLE allitems
MODIFY itemid INT(10) UNSIGNED AUTOINCREMENT; 
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-08-05 22:13:23

CREATE TABLE ALLITEMS(
    itemid INT(10)UNSIGNED,
    itemname VARCHAR(50)
);

ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10)AUTO_INCREMENT PRIMARY KEY;

DESC ALLITEMS;

INSERT INTO ALLITEMS(itemname)
VALUES
    ('Apple'),
    ('Orange'),
    ('Banana');

SELECT
    *
FROM
    ALLITEMS;

我之前也把CHANGEMODIFY关键字搞混了:

ALTER TABLE ALLITEMS CHANGE itemid itemid INT(10)AUTO_INCREMENT PRIMARY KEY;

ALTER TABLE ALLITEMS MODIFY itemid INT(5);

同时,还要注意,AUTO_INCREMENT也可以从一个预定义的数字开始:

ALTER TABLE tbl AUTO_INCREMENT = 100;
票数 114
EN

Stack Overflow用户

发布于 2011-08-05 21:52:05

语法:

   ALTER TABLE `table1` CHANGE `itemId` `itemId` INT( 11 ) NOT NULL AUTO_INCREMENT 

但是该表需要一个已定义的键(itemId上的ex主键)。

票数 19
EN

Stack Overflow用户

发布于 2011-08-05 21:54:19

ALTER TABLE `ALLITEMS`
    CHANGE COLUMN `itemid` `itemid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6957370

复制
相关文章

相似问题

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