Quels résultats puis-je obtenir d'une requête?
<<<
How to Get the Unique ID for the Last Inserted Row Problèmes lors de la liaison avec l'API C
>>>

21.2.12 Questions courantes sur la librairie C
21.2 API MySQL C
21 API MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Pourquoi est-ce que mysql_store_result() retourne parfois NULL après que mysql_query() ait réussi
Quels résultats puis-je obtenir d'une requête?
->How to Get the Unique ID for the Last Inserted Row
Problèmes lors de la liaison avec l'API C

21.2.12.3 How to Get the Unique ID for the Last Inserted Row

Si vous insérez une ligne dans une table qui contient une colonne ayant l'attribut AUTO_INCREMENT , vous pouvez obtenir le dernier identifiant généré en appelant la fonction mysql_insert_id() .

Vous pouvez aussi récupérer cet identifiant en utilisant la fonction LAST_INSERT_ID() dans une requête que vous passez à mysql_query() .

Vous pouvez vérifier qu'un index AUTO_INCREMENT est utilisé en exécutant le code suivant. Cela vérifiera aussi si la requête était un INSERT avec un index AUTO_INCREMENT :

if (mysql_error(&mysql)[0] == 0 &&
    mysql_num_fields(result) == 0 &&
    mysql_insert_id(&mysql) != 0)
{
    used_id = mysql_insert_id(&mysql);
}
L'identifiant généré par la dernière insertion est maintenu sur le serveur en se basant sur la connexion. Il ne sera pas changé par un autre client. Il ne changera pas non plus si vous mettez à jour une autre colonne AUTO_INCREMENT avec une valeur normale (ni NULL ni 0 ).Si vous voulez utiliser l'identifiant généré pour une table et l'insérer dans une autre, vous pouvez utiliser les requêtes suivantes :

INSERT INTO foo (auto,text)
    VALUES(NULL,'text');              # génère un identifiant en insérant NULL
INSERT INTO foo2 (id,text)
    VALUES(LAST_INSERT_ID(),'text');  # on l'utilise dans la seconde page

<< How to Get the Unique ID for the Last Inserted Row >>
Quels résultats puis-je obtenir d'une requête? Questions courantes sur la librairie C Problèmes lors de la liaison avec l'API C