sql >> Base de Datos >  >> RDS >> Mysql

¿Es LAST_INSERT_ID() en una transacción confiable?

El last_insert_id() de MySQL es confiable porque siempre es la ÚLTIMA inserción realizada por ESA conexión EN PARTICULAR. No informará una identificación de inserción creada por alguna otra conexión, no informará una inserción que hizo hace dos conexiones. No importará en qué núcleo de CPU se produjo la inserción real y en qué núcleo se procesa la llamada last_insert_id(). Siempre será el número de ID correcto para esa conexión.

Si revierte una transacción que hizo una inserción, last_insert_id() TODAVÍA informará esa nueva identificación, aunque ya no exista. Sin embargo, la identificación no se reutilizará en una inserción posterior