Questo "problema" è solo in InnoDB .
È in base alla progettazione e ha lo scopo di migliorare la concorrenza:un altro thread può utilizzare un AUTO_INCREMENT senza dover attendere i risultati di un UPSERT operazione.
Dai documenti :
MyISAM non mostra questo comportamento, poiché è AUTO_INCREMENT l'algoritmo è implementato in modo diverso (a causa della sua capacità limitata di supportare DML simultanei ).