問題 InnoDBエンジンのあるテーブルに、insert into T select * from XXX 系のSQLを流すと、AUTO_INCREMENTの連番が余分に消費されて、次に挿入するレコードにはかなり飛んだ番号が付きました。 1,2,3,4,5,6,7,8,9,10 の10行が入った後で、次の行を入れると連番が16になっているなど。 なぜでしょう。 答え より単純な再現手順。 insertは2行のはずだが、連番が3進む。1つ余分に進む。 /* AUTO_INCREMENTのカラムを持つテーブルを作成 */ create table T ( id int primary key auto_increment, code varchar(10) not null ) engine=InnoDB; /* insert select をする. code 'a' と 'b' の行を追加す