sql >> Database >  >> RDS >> Mysql

MySQL INSERT ....OP DUPLICATE UPDATE - Voegt een toe aan de autoincrement

INVOER ... OP DUBBELE SLEUTEL-UPDATE wordt beschreven als een "mixed-mode insert" voor de doeleinden van InnoDB's AUTO_INCREMENT behandeling. Invoegingen met gemengde modus zijn in feite die waarbij het maximum aantal vereiste AUTO_INCREMENT waarden is bekend, maar de hoeveelheid die werkelijk nodig zal zijn is niet.

Invoegingen in gemengde modus worden standaard speciaal behandeld, zoals beschreven in de MySQL-documenten :

Als u InnoDB gebruikt, zijn uw alternatieven:

  1. Vermijd INSERT... ON DUPLICATE KEY UPDATE .
  2. Stel de innodb_autoinc_lock_mode
  3. code> parameter naar 0 , voor "traditionele" auto-increment lock-modus, die garandeert dat alle INSERT instructies zullen opeenvolgende waarden toewijzen voor AUTO_INCREMENT kolommen. Dit wordt echter bereikt door te vergrendelen tijdens de instructie, dus er is prestatieverlies verbonden aan deze instelling.
  4. (Aanbevolen) Negeer de hiaten in de AUTO_INCREMENT kolom.

Opmerking:AUTO_INCREMENT afhandeling is totaal anders onder MyISAM, dat dit gedrag niet vertoont.



  1. Lente 2011 PostgreSQL-conferenties, VS/Canada

  2. Is het conceptueel juist om een ​​SELECT MAX (id) enz. te doen om de laatst ingevoegde rij te vinden?

  3. Selecteer alle maanden binnen een bepaalde periode, inclusief die met 0 waarden

  4. Xamarin Android-app met online MySql/Sql-database