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

automatyczny przyrost pierwotny pozostawiając przerwy w liczeniu

Jest to zgodne z projektem i zawsze będzie się działo.

Dlaczego?

Weźmy 2 nakładające się transakcje, które wykonują WSTAWKI

  • Transakcja 1 wykonuje INSERT, pobiera wartość (powiedzmy 42), wykonuje więcej pracy
  • Transakcja 2 wykonuje INSERT, otrzymuje wartość 43, wykonuje więcej pracy

Następnie

  • Transakcja 1 kończy się niepowodzeniem. Cofa się. 42 pozostaje niewykorzystane
  • Transakcja 2 kończy się z 43

Gdyby gwarantowane były kolejne wartości, każda transakcja musiałaby następować jedna po drugiej. Niezbyt skalowalne.

Zobacz także Czy wstawiane rekordy zawsze odbierają ciągłą tożsamość Wartości (SQL Server, ale obowiązuje ta sama zasada)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyszukaj MySQL i zamień tekst w polu

  2. Zapytanie MySQL Insert nie działa z klauzulą ​​WHERE

  3. Jak korzystać z mysql JOIN bez warunku ON?

  4. Zapowiedź ClusterControl 1.7.5:Zaawansowana konserwacja klastra i wsparcie dla PostgreSQL 12 i MongoDB 4.2

  5. Wywołanie procedury składowanej z parametrem Out za pomocą PDO