一尘不染

ALTER表-在MySQL中添加AUTOINCREMENT

mysql

我在MySQL的on列中创建了一个表itemID。创建表格后,现在我想将此列更改为AUTOINCREMENT。如何使用ALTER语句完成此操作?

表定义:

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

我正在使用以下代码,但会引发 错误:语法错误

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

阅读 286

收藏
2020-05-17

共1个答案

一尘不染

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;
2020-05-17