my_ulonglong mysql_insert_id(MYSQL *mysql)
Description
Retourne l'identifiant généré pour une colonne
AUTO_INCREMENT
par la dernière requête.
Utilisez cette commande après avoir exécuté une requête
INSERT
sur une table qui contient un champ
AUTO_INCREMENT
.
Plus précisément, mysql_insert_id()
est
mis à jour dans ces conditions :
Les commandes INSERT
qui stockent une
valeur dans une colonne de type
AUTO_INCREMENT
. C'est vrai si la valeur
est automatiquement générée suivant le stockage de
NULL
ou 0
dans la
colonne, ou une valeur explicite non-spéciale.
Dans le cas des INSERT
multiples,
mysql_insert_id()
retourne la
première valeur
AUTO_INCREMENT
automatiquement
générée : si aucune valeur n'est générée, elle
retourne la dernière
valeur explicitement insérée dans la colonne
AUTO_INCREMENT
.
Les commandes INSERT
qui génère une
valeur AUTO_INCREMENT
en insérant
l'expression LAST_INSERT_ID(expr)
dans
une colonne.
Les commandes INSERT
qui génèrent une
valeur AUTO_INCREMENT
qui donne la
valeur de LAST_INSERT_ID(expr)
à une
colonne.
La valeur de mysql_insert_id()
n'est
pas affectée par les commandes telles que les commandes
SELECT
qui ne retournent pas de
résultat.
Si la commande précédent a retourné une erreur, la
valeur de mysql_insert_id()
est
indéfinie.
Notez que mysql_insert_id()
retourne
0
si la dernière requête n'a pas
généré de valeur AUTO_INCREMENT
. Si vous
voulez garder cette valeur pour plus tard, assurez vous
d'appeler mysql_insert_id()
immédiatement
après la requête ayant généré cette valeur.
mysql_insert_id()
est mis à jour après
l'exécution de requêtes INSERT
et
UPDATE
qui génèrent une valeur
AUTO_INCREMENT
ou qui définissent la
valeur d'une colonne à
LAST_INSERT_ID(expr)
. See
Section 12.8.4, « Fonctions diverses ».
Notez aussi que la valeur de retour de la fonction SQL
LAST_INSERT_ID()
contient toujours la
valeur d'AUTO_INCREMENT
la plus à jour.
Cette valeur n'est pas remise à zéro lors de l'exécution
d'autre requêtes car elle est maintenue pour le serveur.
Valeur de retour
La valeur de la colonne AUTO_INCREMENT
qui
a été mise à jour par la dernière requête. Retourne zéro
si aucune requête n'avait eu lieu durant la connexion, ou si
la dernière requête n'a pas mis à jour la valeur de la
colonne AUTO_INCREMENT
.
Erreurs
Aucune.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.