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_mode
parameter til0
, for "traditionel" autoincrement låsetilstand, som garanterer, at alleINSERT
sætninger vil tildele fortløbende værdier forAUTO_INCREMENT
kolonner. 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_INCREMENT
kolonne.
Bemærk:AUTO_INCREMENT
håndtering er helt anderledes under MyISAM, som ikke udviser denne adfærd.