Page 1 sur 2
Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 14:24
par visualight
Bonjour,
Je désirerai savoir si il est possible de connaitre l'ID d'une table (qui est autoincrémentée) avant d'effectuer un insert into dans la table ?
Existe t'il une solution PHP qui permettent de connaître cette ID ?
Merci,
raph
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 14:25
par stealth35
non
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 14:32
par visualight
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 14:42
par telnes
mais il y a mysql insert last id (ou du genre) qui te retourne le dernier enregistré !
apres tu peut faire une requete du genre max (id) order by id ... mais bon
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 15:00
par stealth35
mais il y a mysql insert last id (ou du genre) qui te retourne le dernier enregistré !
apres tu peut faire une requete du genre max (id) order by id ... mais bon
ouai mais c'est uniquement après le statement
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 15:21
par Calimero
Bonjour,
Je désirerai savoir si il est possible de connaitre l'ID d'une table (qui est autoincrémentée) avant d'effectuer un insert into dans la table ?
Existe t'il une solution PHP qui permettent de connaître cette ID ?
La vraie question c'est pourquoi as-tu besoin de savoir cela ?
Car en imaginant que ce soit possible (ce qui n'est pas le cas), rien ne te garantirait qu'il ne se soit pas passé une insertion (sur une connexion concurrente) entre le moment où tu demandes le prochain id et le moment ou tu réalises finalement l'insert. Ce qui rendrait l'information inutile car intrinsèquement non fiable.
Selon ta réponse on va peut-être pouvoir t'orienter sur une autre technique, ou alors te réexpliquer les fondamentaux sur l'usage d'un id autoincrémenté

Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 15:23
par stealth35
si c'est possible suffis de faire une requete mysql, ce qui est pas possible c'est de la faire direct avec une fonction php native
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 17:31
par AB
Bonjour,
Je désirerai savoir si il est possible de connaitre l'ID d'une table (qui est autoincrémentée) avant d'effectuer un insert into dans la table ?
Existe t'il une solution PHP qui permettent de connaître cette ID ?
Merci,
raph
Comme déjà dit la procédure standard est de ne pas renseigner le champ id qui va s'incrémenter tout seul avec la requête d'insertion et ensuite on peut le récupérer juste après avec mysql_insert_id().
Et comme l'a déjà dit aussi
Calimero si cela ne te suffit pas, tu as certainement un problème de méthodologie à revoir.
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 17:52
par devlop78
non
C'est quand même stealth qui a eu la bonne note avec 3 lettres

. Je confirme, mysql_last_id (ou un truc comme ça) est le plus adapté. En même temps, obtenir l'id avant ou après avoir fait la requête, c'est si génant que ça pour ton script ??
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 18:00
par Calimero
non
C'est quand même stealth qui a eu la bonne note avec 3 lettres

.
Certes, mais ça n'en fait pas un exemple à suivre...

Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 19:44
par visualight
Salut,
La vraie question c'est pourquoi as-tu besoin de savoir cela ?
Car en imaginant que ce soit possible (ce qui n'est pas le cas), rien ne te garantirait qu'il ne se soit pas passé une insertion (sur une connexion concurrente) entre le moment où tu demandes le prochain id et le moment ou tu réalises finalement l'insert. Ce qui rendrait l'information inutile car intrinsèquement non fiable.
Selon ta réponse on va peut-être pouvoir t'orienter sur une autre technique, ou alors te réexpliquer les fondamentaux sur l'usage d'un id autoincrémenté

Merci pour vos réponses ...
En fait j'ai eu une idée et pour la mettre en oeuvre sans faire 2 requêtes, je me suis dit que si c'était possible de connaitre l'ID autoincrément AVANT l'insert, ça aurait été chouette...
Mais je suis partis sur l'affirmation très "didacticielle" de stealth35 et j'ai fait deux requetes : 1 pour l'insert et l'autre pour choper l'ID et la retravailler.
Je retiens néanmois la solution : mysql_last_id ... a tester.
a+
raph
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 09 avr. 2010, 20:10
par stealth35
simplicité, efficacité, rapidité

Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 11 avr. 2010, 22:53
par AB
Merci pour vos réponses ...
En fait j'ai eu une idée et pour la mettre en oeuvre sans faire 2 requêtes, je me suis dit que si c'était possible de connaitre l'ID autoincrément AVANT l'insert, ça aurait été chouette...
Si tu avais été un peu plus précis sur cette idée justement, on aurait peut-être pu te renseigner sur le meilleur moyen d'arriver à tes fins

Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 13 avr. 2010, 16:42
par zeus
simplicité, efficacité, rapidité

J'aurais dit "simplicité, manque d'information, manque de pédagogie => utilisateur par satisfait ou mal orienté"
Re: Connaitre l'ID autoincrement AVANT l'enregistrement ?
Posté : 13 avr. 2010, 16:44
par stealth35
soit pas jaloux
