Изглежда, че има нещо общо с начина, по който се формират вашите инструкции INSERT. Вижте тази цигулка , който е леко модифициран от вашия пример. В този случай не получавате пропуски (но вероятно ще получите, ако добавите още вмъквания... всъщност е така .).
РЕДАКТИРАНЕ:След малко повече копаене открих, че не получавате пропуски, ако използвате двигателя MyISAM (за разлика от InnoDB). И така, може би това е недостатък или любопитен избор на дизайн в InnoDB...?
РЕДАКТИРАНЕ 2:Допълнително копаене разкри този бъг
, подадена срещу системата за съхранение InnoDB. Съвпада много точно с случая на използване на оригиналния въпрос. Не е предоставено решение за грешката, но изглежда, че едно решение е да се зададе innodb_autoinc_lock_mode
на 0 във вашия файл my.cnf преди стартиране на mysqld.