Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL INSERT ....ON DUPLICATE UPDATE - Dodaje jeden do autoinkrementacji

WSTAW... PRZY AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA jest opisany jako "wstawka w trybie mieszanym" na potrzeby AUTO_INCREMENT InnoDB obsługiwanie. Wstawki w trybie mieszanym to w zasadzie te, w których maksimum liczba wymaganych AUTO_INCREMENT wartości są znane, ale kwota, która będzie faktycznie potrzebna nie jest.

Wstawki w trybie mieszanym są domyślnie obsługiwane specjalnie, jak opisano w Dokumentacja MySQL :

Jeśli używasz InnoDB, twoje alternatywy to:

  1. Unikaj WSTAW ... PODCZAS AKTUALIZACJI ZDUPLIKOWANEGO KLUCZA .
  2. Ustaw innodb_autoinc_lock_mode parametr na 0 , dla "tradycyjnego" trybu blokady autoinkrementacji, który gwarantuje, że wszystkie INSERT instrukcje przypiszą kolejne wartości dla AUTO_INCREMENT kolumny. Jednak osiąga się to poprzez blokowanie podczas instrukcji, więc z tym ustawieniem wiąże się utrata wydajności.
  3. (Zalecane) Zignoruj ​​luki w AUTO_INCREMENT kolumna.

Uwaga:AUTO_INCREMENT obsługa jest zupełnie inna w MyISAM, który nie wykazuje takiego zachowania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje prostszy sposób na znalezienie TRYBU (S) niektórych wartości w MySQL?

  2. Jak możemy odróżnić LEFT OUTER JOIN od Left Join?

  3. Ogranicz numer strony paginacji

  4. MySQL:wybierz losowy wpis, ale waż w stosunku do niektórych wpisów

  5. Jak tworzyć i usuwać bazy danych i tabele w MySQL