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

Czy można polegać na LAST_INSERT_ID() w transakcji?

Funkcja last_insert_id() w MySQL jest niezawodna, ponieważ zawsze jest to OSTATNIE wstawienie wykonywane przez TA SZCZEGÓLNE połączenie. Nie zgłosi identyfikatora wstawiania utworzonego przez inne połączenie, nie zgłosi wstawienia, które zrobiłeś dwa połączenia temu. Nie ma znaczenia, na którym rdzeniu procesora wystąpiła rzeczywista wstawka i na którym rdzeniu jest przetwarzane wywołanie last_insert_id(). Zawsze będzie to właściwy numer identyfikacyjny dla tego połączenia.

Jeśli wycofasz transakcję, która wykonała wstawienie, last_insert_id() NADAL zgłosi ten nowy identyfikator, nawet jeśli już nie istnieje. Identyfikator nie zostanie jednak ponownie wykorzystany w kolejnej wstawce




  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 CREATE USER ze zmienną?

  2. MySQL Query IN() Klauzula wolno w indeksowanej kolumnie

  3. XmlHTTPRequest:Błąd analizowania XML:nie znaleziono elementu

  4. wstaw znak Unicode w bazach danych

  5. najlepsze wózki na zakupy e-commerce dla programisty Zend Framework