sql >> Database >  >> RDS >> Mysql

Is LAST_INSERT_ID() in een transactie betrouwbaar?

MySQL's last_insert_id() is betrouwbaar omdat het altijd de LAATSTE invoeging is die door DIE BEPAALDE verbinding wordt uitgevoerd. Het rapporteert geen invoeg-ID die is gemaakt door een andere verbinding, het rapporteert geen invoeging die u twee verbindingen geleden hebt gedaan. Het maakt niet uit op welke cpu-kern de daadwerkelijke insertie plaatsvond en op welke kern de last_insert_id()-aanroep wordt verwerkt. Het is altijd het juiste ID-nummer voor die verbinding.

Als je een transactie terugdraait die een insertie heeft gedaan, zal last_insert_id() NOG STEEDS die nieuwe id rapporteren, ook al bestaat deze niet meer. De id wordt echter niet opnieuw gebruikt in een volgende invoeging




  1. Hoe het aantal rijen te beperken dat kan worden opgeslagen in de mysql-tabel?

  2. Kies uit alle tabellen

  3. Hoe kan ik in SQL Server overal een kolom vinden waarnaar wordt verwezen?

  4. MySQL Dubbele kolommen verwijderen op Left Join, 3 tabellen