Wydaje się, że ma to coś wspólnego z formowaniem instrukcji INSERT. Zobacz te skrzypce , który jest nieco zmodyfikowany na podstawie twojego przykładu. W takim przypadku nie dostaniesz przerw (ale prawdopodobnie tak się stanie, jeśli dodasz więcej wstawek... w rzeczywistości tak .).
EDYCJA:Po odrobinie więcej kopania stwierdziłem, że nie dostaniesz luk, jeśli używasz silnika MyISAM (w przeciwieństwie do InnoDB). Więc może jest to wada lub ciekawy wybór projektu w InnoDB...?
EDYCJA 2:Dalsze kopanie ujawniło ten błąd
, złożony przeciwko silnikowi pamięci masowej InnoDB. Bardzo dokładnie pasuje do przypadku użycia oryginalnego pytania. Nie podano rozwiązania problemu, jednak wydaje się, że jednym z rozwiązań jest ustawienie innodb_autoinc_lock_mode
do 0 w pliku my.cnf przed uruchomieniem mysqld.