sql >> Databasteknik >  >> RDS >> Mysql

Är LAST_INSERT_ID() i en transaktion pålitlig?

MySQL:s last_insert_id() är pålitlig genom att det alltid är den SISTA infogningen som utförs av DEN SÄRSKILDA anslutningen. Det kommer inte att rapportera ett infognings-id skapat av någon annan anslutning, det kommer inte att rapportera en infogning som du gjorde för två anslutningar sedan. Det spelar ingen roll vilken cpu-kärna den faktiska infogningen skedde på, och vilken kärna som last_insert_id()-anropet bearbetas på. Det kommer alltid att vara rätt ID-nummer för den anslutningen.

Om du återställer en transaktion som gjorde en infogning kommer last_insert_id() ÄNDÅ rapportera det nya ID:t, även om det inte längre finns. ID:t kommer dock inte att återanvändas i en efterföljande infogning




  1. Trigram Wildcard String Search i SQL Server

  2. Varför är vissa typer av förberedda frågor som använder PDO i PHP med MySQL långsamma?

  3. Kan MySQL Cluster hantera en terabyte databas

  4. Hur skapar jag en Django-modell med ForeignKeys som inte överlappar borttagningar till sina barn?