|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Christophe Inscription : août 2009 Messages : 131 ![]() |
Re bonjour
J'ai vu qu'il existait une fonction mysql_insert_id qui permettait de savoir quel était le dernier id d'une base en cours à avoir été généré. N'existe t-il pas la même chose mais sur une table en particulier ? Car à part faire un select max(id) from table je ne trouve rien d'autre. Vous confirmez ? Merci à vous et bonnes fêtes. |
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
mysql_insert_id ne retourne pas le dernier id d'une base mais le dernier id generé dans la connexion en cours.
Sinon pour avoir le dernier enregistrement d'une table tu peux faire max(id) ou ORDER DESC LIMIT 1 |
|
|
00
|
|
|
#3 | |
|
Nouveau Membre du Club
![]() Christophe Inscription : août 2009 Messages : 131 ![]() |
Citation:
Donc si je suis dans une connexion sur une table X alors cela me renvoie le dernier id de cette table X ? Merci |
|
|
|
00
|
|
|
#4 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Non, cela ne renvoit qu'un id generé pendant la connexion.
|
|
|
10
|
|
|
#5 |
|
Membre habitué
![]() |
La solution c'est bien
Si tu n'es pas en train de faire des requêtes INSERT. Car si c'est le cas, mysql_insert_id() reste encore le moyen le plus simple. En effet tu es sur la table dans laquelle tu viens de faire ton insert et tu récupères dans la foulée l'id généré (donc le dernier de la table en question. Dans les autres cas, en ordonnant par id DESC et en ne récupérant que le premier enregistrement de cet ordre tu auras automatiquement le dernier (si tant est que tes id sont générés en auto_increment...)
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
|
|
10
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
bonjour,
si le but est de récupérer le dernier id immédiatement crée après une insertion, tu peux mais surtout tu dois le faire via une procédure stockée afin d'éviter tout problème de création intermédiaire entre la création et la récupération de l'id |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Christophe Inscription : août 2009 Messages : 131 ![]() |
Merci encore
Mais on peut penser alors, qu'étant en local sur ma machine, et le seul utilisateur du programme que j'écris, et que ma requête INSERT vient de travailler sur une table particulière, que je récupère obligatoirement l'id voulu ? J'espère avoir été clair. |
|
|
00
|
|
|
#8 | |
|
Nouveau Membre du Club
![]() Christophe Inscription : août 2009 Messages : 131 ![]() |
Citation:
Oui je suis surtout dans le cas d'un INSERT En gros, je créé un nouvel item dans une table et je souhaite confirmer tout de suite l'ajout en affichant une page qui affiche une fiche récapitulative de l'élément ajouté. Je souhaite donc passer dans l'url cet id créé. Y aurait-il une autre solution plus "classe" ? Merci |
|
|
|
00
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() Christophe Inscription : août 2009 Messages : 131 ![]() |
Citation:
Je n'ai pas bien saisi le début de ton message Qu'entends tu par je cite "La solution c'est bien " Merci à toi |
|
|
|
00
|
|
|
#10 | ||
|
Membre habitué
![]() |
Te torture pas,
la solution classe c'est la procédure. Mais dans ton cas, puisque tu es le seul utilisateur. Y a pas plus simple que mysql_insert_id(). Et ce qui est simple est on ne peut plus classe !! Code :
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
|
||
|
00
|
|
|
#11 | |||
|
Nouveau Membre du Club
![]() Christophe Inscription : août 2009 Messages : 131 ![]() |
Citation:
Merci pour toutes ces explications qui me font avancer !!! C'est cool ! Ceci c'est aussi pour mieux revenir avec d'autres questions |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com