Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-ce que LAST_INSERT_ID() dans une transaction est fiable ?

Le last_insert_id() de MySQL est fiable dans la mesure où il s'agit toujours de la DERNIÈRE insertion effectuée par CETTE connexion PARTICULIÈRE. Il ne signalera pas un identifiant d'insertion créé par une autre connexion, il ne signalera pas une insertion que vous avez effectuée il y a deux connexions. Peu importe sur quel cœur de processeur l'insertion réelle s'est produite et sur quel cœur l'appel last_insert_id() est traité. Ce sera toujours le bon numéro d'identification pour cette connexion.

Si vous annulez une transaction qui a fait une insertion, last_insert_id() signalera TOUJOURS ce nouvel identifiant, même s'il n'existe plus. L'identifiant ne sera cependant pas réutilisé dans une insertion ultérieure