INSERT ... PÅ DUPLIKATNYCKELUPPDATERING beskrivs som en "mixed-mode insert" för syftet med InnoDB:s AUTO_INCREMENT hantering. Mixed-mode-inlägg är i princip sådana där maximum antal obligatoriska AUTO_INCREMENT värden är kända, men mängden som faktiskt kommer att behövas är inte.
Inlägg i blandat läge hanteras speciellt som standard, som beskrivs i MySQL-dokument :
Om du använder InnoDB är dina alternativ:
- Undvik
INSERT ... PÅ DUBLIKAT UPPDATERING AV NYCKEL. - Ställ in
innodb_autoinc_lock_modeparameter till0, för "traditionellt" autoinkrementlåsläge, vilket garanterar att allaINSERTsatser kommer att tilldela på varandra följande värden förAUTO_INCREMENTkolumner. Detta görs dock genom att låsa under uttalandet, så det finns en prestandaförlust kopplad till den här inställningen. - (Rekommenderas) Ignorera luckorna i
AUTO_INCREMENTkolumn.
Obs:AUTO_INCREMENT hanteringen är helt annorlunda under MyISAM, som inte uppvisar detta beteende.