Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

LAST_INSERT_ID() em uma transação é confiável?


O last_insert_id() do MySQL é confiável, pois é sempre a ÚLTIMA inserção realizada por ESSA conexão PARTICULAR. Ele não relatará um ID de inserção criado por alguma outra conexão, não relatará uma inserção que você fez duas conexões atrás. Não importa em qual núcleo de CPU a inserção real ocorreu e em qual núcleo a chamada last_insert_id() é processada. Será sempre o número de identificação correto para essa conexão.

Se você reverter uma transação que fez uma inserção, last_insert_id() AINDA informará esse novo id, mesmo que ele não exista mais. O id não será reutilizado, no entanto, em uma inserção subsequente