2016-08-03 51 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