我用itemID
列在MySQL中创建了一个表。
在创建表之后,现在我想将此列更改为AUTOINCREMENT
。
如何使用ALTER语句来完成此操作
表定义:
ALLITEMS (itemid int(10) unsigned, itemname varchar(50))
我使用了以下代码,但它抛出了一个语法错误
错误:语法不正确的。
ALTER TABLE allitems
MODIFY itemid INT(10) UNSIGNED AUTOINCREMENT;
发布于 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;
我之前也把CHANGE
和MODIFY
关键字搞混了:
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;
发布于 2011-08-05 21:52:05
语法:
ALTER TABLE `table1` CHANGE `itemId` `itemId` INT( 11 ) NOT NULL AUTO_INCREMENT
但是该表需要一个已定义的键(itemId上的ex主键)。
发布于 2011-08-05 21:54:19
ALTER TABLE `ALLITEMS`
CHANGE COLUMN `itemid` `itemid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
https://stackoverflow.com/questions/6957370
复制相似问题