2016-08-03 21 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; 

行が1つずつ挿入されると、自動インクリメント値は順次になります。しかし、私はコマンドに挿入使って一度に複数の行を挿入した場合、最終的な自動インクリメント値、すなわちより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

を参照してください詳細は.. IDを使用する必要がありますお返事をありがとうございます。しかし、この解決策はmysql 5.5.16では動作しません。テーブルの作成中に構文エラーが発生します。 – Madhusudhan

+0

挿入後にレコードを削除しましたか? –

+0

削除操作は行われません。テーブルを作成した後、別のテーブルからデータを選択してデータを挿入しています。 – Madhusudhan

関連する問題