sql >> Database teknologi >  >> RDS >> Mysql

Er LAST_INSERT_ID() i en transaktion pålidelig?

MySQL's last_insert_id() er pålidelig ved, at det altid er den SIDSTE indsættelse udført af DEN BESTEMTE forbindelse. Den vil ikke rapportere en indsættelses-id, der er oprettet af en anden forbindelse, den vil ikke rapportere en indsættelse, som du gjorde for to forbindelser siden. Det er ligegyldigt, hvilken cpu-kerne den faktiske indsættelse fandt sted på, og hvilken kerne last_insert_id()-kaldet behandles på. Det vil altid være det rigtige ID-nummer for den forbindelse.

Hvis du ruller tilbage en transaktion, der foretog en indsættelse, vil last_insert_id() STADIG rapportere det nye id, selvom det ikke længere eksisterer. Id'et vil dog ikke blive genbrugt i en efterfølgende indsættelse




  1. Inkrementelle statistikker bruges IKKE af Query Optimizer

  2. Forstå gruppe efter klausul i SQL Server - SQL Server / TSQL selvstudium del 130

  3. CTE Recursion for at få træhierarki

  4. ORA - 00933 forveksling med indre sammenføjning og som