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

AUTO_INCREMENT i LAST_INSERT_ID

SELECT max(employeeid) FROM Employee;

Powyższe zapytanie zwraca wartość employeeid ostatniego wstawionego rekordu w tabeli Employee, ponieważ employeeid to kolumna z automatycznym przyrostem. To wydaje się być OK, ale załóżmy dwa wątki wykonują operację wstawiania jednocześnie, istnieje szansa, że ​​pomylisz identyfikator ostatniego wstawionego rekordu!

Nie martw się, MySQL zapewnia funkcję, która zwraca wartość kolumny automatycznego zwiększania ostatnio wstawionego rekordu.

SELECT LAST_INSERT_ID();

OSTATNI_WSTAW_ID() jest zawsze specyficzne dla połączenia , oznacza to, że nawet jeśli operacja wstawiania jest wykonywana jednocześnie z różnych połączeń, zawsze zwraca wartość bieżącej operacji specyficznej dla połączenia.

Musisz więc najpierw wstawić rekord w tabeli Pracownik, uruchomić powyższe zapytanie, aby uzyskać wartość id i użyć go do wstawienia do drugiej tabeli.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wstaw polecenie odrzucone w mysql

  2. PDO::__construct():Serwer wysłał zestaw znaków (255) nieznany klientowi. Proszę zgłosić się do programistów

  3. Jak uzyskać identyfikator wiersza w mysql

  4. MySQL — jakiego algorytmu skrótu powinienem do tego użyć?

  5. Escape table nazwa MySQL