Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL INSERT .... ПРИ ДУБЛИРАНЕ НА АКТУАЛИЗИРАНЕ - Добавя едно към автоматичното нарастване

INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ се описва като "вмъкване в смесен режим" за целите на AUTO_INCREMENT на InnoDB боравене. Вмъкванията със смесен режим са основно тези, при които максимум брой на изискваните AUTO_INCREMENT стойностите са известни, но сумата, която действително ще е необходима не е.

Вмъкванията в смесен режим се обработват специално по подразбиране, както е описано в Документи на MySQL :

Ако използвате InnoDB, вашите алтернативи са:

  1. Избягвайте INSERT ... ПРИ АКТУАЛИЗИРАНЕ НА ДУПЛИКАТ КЛЮЧ .
  2. Задайте innodb_autoinc_lock_mode параметър до 0 , за "традиционен" режим на заключване на автоматично увеличение, който гарантира, че всички INSERT операторите ще присвоят последователни стойности за AUTO_INCREMENT колони. Това обаче се постига чрез заключване по време на изявлението, така че има загуба на производителност, свързана с тази настройка.
  3. (Препоръчително) Игнорирайте пропуските в AUTO_INCREMENT колона.

Забележка:AUTO_INCREMENT обработката е напълно различна при MyISAM, който не показва това поведение.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли начин в MySQL да обърнете булево поле с една заявка?

  2. Поведение на MySQL при АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ за множество УНИКАЛНИ полета

  3. Повторното свързване на MySQL сървър е изчезнало

  4. как да получите сума от колона със заявка codeigniter

  5. CHAR() или VARCHAR() като първичен ключ в ISAM MySQL таблица?