2016-08-03 130 views
0

我有如下所示的自动增量列表。mysql自动递增值没有按顺序更新

CREATE TABLE `garment_master2` (
    `GARMENT_ID2` int(11) NOT NULL AUTO_INCREMENT, 
    `GARMENT_NAME1` varchar(50) NOT NULL, 
    PRIMARY KEY (`GARMENT_ID2`), 
    KEY `NDX_gar_name` (`GARMENT_NAME1`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

当行逐一插入时,自动递增值是连续的。但是,如果我一次插入多行插入命令然后最终自动增量值是大于GARMENT_ID2值,即如果12行插入,然后GARMENT_ID2值是12和自动增量值为16.

请帮我理解为什么自动增量值没有正确设置。

+1

而不是自动增量,尝试标识(1,1) – siva

+0

要自动递增主键,您必须使用身份..有关详细信息,请参阅此http://www.w3schools.com/sql/sql_autoincrement.asp – yash

回答

0

尝试这个

CREATE TABLE `garment_master2` (
    `GARMENT_ID2` int NOT NULL IDENTITY(1,1), 
    `GARMENT_NAME1` varchar(50) NOT NULL, 
    PRIMARY KEY (`GARMENT_ID2`), 
    KEY `NDX_gar_name` (`GARMENT_NAME1`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

而是自动递增的,使用的身份。

+0

感谢您的回复。但是这个解决方案在mysql 5.5.16中不起作用。我在创建表时遇到语法错误。 – Madhusudhan

+0

插入后是否删除了任何记录? –

+0

没有删除操作完成。创建表后,我通过从另一个表中选择数据插入数据。 – Madhusudhan