2009-07-23 6 views
1

J'insère une ligne dans une table et je voudrais obtenir la valeur de l'index primaire incrémenté automatiquement. L'index primaire est la seule valeur unique de la table, donc je ne veux rien faire comme "SELECT [index primaire] FROM [table] WHERE [les colonnes = les données que je viens d'insérer]" pour éviter toute ambiguïté . Je ne veux pas non plus sélectionner la dernière ligne car une ligne peut avoir été insérée entre mes instructions INSERT et SELECT.Lors de l'insertion dans une table, puis-je obtenir la valeur de l'index primaire automatiquement incrémenté?

Je pourrais INSÉRER une rangée vide, CHOISISSEZ l'index primaire et METTEZ À JOUR la rangée avec les données mais cela semble être un sacré bidouillage. Cela m'amène à croire que leur DOIT être un moyen d'obtenir l'index primaire de la ligne que vous venez d'insérer via l'API mysqli car je pense que ce serait chose très omniprésente.

Quelqu'un peut-il m'éclairer?

Répondre

5

mysql_insert_id() est votre réponse.

Vous avez également tagué votre question avec "mysqli", auquel cas vous utiliseriez mysqli->insert_id().

+0

Le temps qu'il m'a fallu pour google et écrire une réponse que vous aviez déjà là-bas. Je suppose que j'aurais gagné si je connaissais php en premier lieu. – Davis

Questions connexes