INDSÆT ... PÅ DUBLIKAT NØGLOPDATERING beskrives som en "mixed-mode insert" med henblik på InnoDB's AUTO_INCREMENT håndtering. Inserts i blandet tilstand er dybest set dem, hvor maksimum antal påkrævede AUTO_INCREMENT værdier er kendt, men den mængde, der faktisk er nødvendig er ikke.
Inserts i blandet tilstand bliver som standard håndteret specielt som beskrevet i MySQL-dokumenter :
Hvis du bruger InnoDB, er dine alternativer:
- Undgå
INDSÆT ... PÅ DUBLIKAT NØGLOPDATERING. - Indstil
innodb_autoinc_lock_modeparameter til0, for "traditionel" autoincrement låsetilstand, som garanterer, at alleINSERTsætninger vil tildele fortløbende værdier forAUTO_INCREMENTkolonner. Dette opnås dog ved at låse under erklæringen, så der er et ydeevnetab forbundet med denne indstilling. - (Anbefalet) Ignorer hullerne i
AUTO_INCREMENTkolonne.
Bemærk:AUTO_INCREMENT håndtering er helt anderledes under MyISAM, som ikke udviser denne adfærd.