|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() |
Bonjour à tous,
dans une page (php) d'ajout dans une table d'une base mysql, je dois afficher l'identifiant de l'enregistrement (clé primaire, auto-incrémentée) AVANT que la requête d'insert ne soit effectuée. J'ai bien pensé à un SELECT MAX(`monid`) FROM matable; puis l'afficher avec une incrémentation de 1, mais cela ne tient pas la route si le (ou les) derniers enregistrements de la table ont été supprimés. Une solution inélégante au possible consisterait à faire un enregistrement bidon juste avant l'insertion, récupérer son identifiant, supprimer cet enregistrement et ensuite afficher l'identifiant incrémenté de 1. J'espère qu'il existe plus simple et plus élégant. Merci de vos réponses Nico |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Il y a LAST_INSERT_ID qui retourne le dernier n° affecté pour un auto_increment.
http://dev.mysql.com/doc/refman/5.0/...functions.html
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
Bonjour,
il me semble qu'une solution serait de créer un trigger after insert qui mémorise dans une table le last_insert_id(); Cordialement Marc Salama |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() |
Merci de vos réponses, je vais fouiner dans cette direction
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() |
Bon, je viens d'essayer de mettre en oeuvre. Dans la théorie, ça marche, mais dans la pratique, mysql query n'accepte pas deux requêtes à la fois :s
Je mets un nouveau post racontant mes malheurs, et j'update celui ci dès qu'il est posté pour le mettre en lien... edit : http://www.developpez.net/forums/sho...01#post2345301 re-edit : solution adoptée détaillée dans le lien |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com