Este "problema" solo está en InnoDB
.
Es por diseño y tiene la intención de mejorar la concurrencia:otro subproceso puede usar un AUTO_INCREMENT
sin tener que esperar los resultados de un UPSERT
operación.
De los docs :
MyISAM
no muestra este comportamiento, ya que es AUTO_INCREMENT
algoritmo se implementa de manera diferente (debido a su capacidad limitada para admitir DML
concurrentes ).