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

Dlaczego czasami występuje jedna lub więcej luk w wartości kolumny auto inkrementacji?

Wydaje się, że ma to coś wspólnego z formowaniem instrukcji INSERT. Zobacz te skrzypce , który jest nieco zmodyfikowany na podstawie twojego przykładu. W takim przypadku nie dostaniesz przerw (ale prawdopodobnie tak się stanie, jeśli dodasz więcej wstawek... w rzeczywistości tak .).

EDYCJA:Po odrobinie więcej kopania stwierdziłem, że nie dostaniesz luk, jeśli używasz silnika MyISAM (w przeciwieństwie do InnoDB). Więc może jest to wada lub ciekawy wybór projektu w InnoDB...?

EDYCJA 2:Dalsze kopanie ujawniło ten błąd , złożony przeciwko silnikowi pamięci masowej InnoDB. Bardzo dokładnie pasuje do przypadku użycia oryginalnego pytania. Nie podano rozwiązania problemu, jednak wydaje się, że jednym z rozwiązań jest ustawienie innodb_autoinc_lock_mode do 0 w pliku my.cnf przed uruchomieniem mysqld.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podczas próby użycia mysql_fetch_array() otrzymuję tylko jeden zestaw wyników

  2. Jak używać mvc-mini-profiler z Entity Framework 4,1?

  3. Mysql sam zapyta jeden z indeksem drugi bez uzyskania czasu 10000xFetch?

  4. Jak zweryfikować własność domeny

  5. Jak zainstalować mysql z pliku wsadowego?