Recuperer l'id auto_increment avant l'insertion

Répondre
allserv
le 16/09/2004 à 16:34
allserv
Bonjour @ tous,

Voilà j'aimerais récuperer en fait le prochain id de ma table lorsque je ferais une insertion. J'ai un champ id auto_increment, et donc je voudrasi savoir sa valeur au prochain enregistrement, comment faire ?

Je connais mysql_insert_id() mais c'est pour le connaitre après. J'ai essayer mysql_insert_id()+1 mais ca me donne pas la bon :(

Merci d'avance
i M@N
le 16/09/2004 à 17:02
i M@N
Hello !

Récupérer le numéro correspondant à la dernière insertion.

Cela doit se faire immédiatement après une insertion.

On utilise alors la fonction LAST_INSERT_ID() qui contient le numéro de l'enregistrement précédent.
UPDATE Chant SET CHANT_NOM="le titre du chant" WHERE Chant.CHANT_ID=LAST_INSERT_ID();
Cela permet d'établir des liens entre les tables.
Dans l'exemple précédent, on utilise le numéro affecté à la dernière insertion effectuée dans la table chant pour y placer le nom du chant en question.

source : http://www.infres.enst.fr/~danzart/mysql/SQL.phtml

Je sais pas si ça fonctionne parce que j'ai pas testé, essaye toujours et continue les recherche sur cette fonction sur google.

@+...
One Love, One Heart, One Unity.
zebden
le 16/09/2004 à 19:43
zebden
mysql_inert_id() c'est pour recupere l'id qui vient d'etre inserer ..

Pour connaitre la suivant ptet SELECT MAX(id) FROM `table` et tu rajoute 1.

Apres je vois pas pourquoi tas besoin de savoir l'id qui va etre inserer .. m'enfin ca hein
zebdinou pour les intimes / Blog : http://www.zebden.fr
allserv
le 16/09/2004 à 20:27
allserv
Non mais le MAX est ce qu'il va prendre enc ompte le fait que si je supprime l'id 6 il va pas me prendre l'id 5 au lieu du 6 ?

En fait l'id correspond à l'id de l'article et donc lors du formulaire d'ajout ben c'est juste pour savoir quel sera l'id suivant.. :-\
zebden
le 16/09/2004 à 23:33
zebden
Question toute bete comme ca :
quand tu insert tu précise l'id ? c'est pour ca que tu veux l'id suivante ? dans ce cas tu ne précise rien du tout et Mysql le fait pour toi .
zebdinou pour les intimes / Blog : http://www.zebden.fr
allserv
le 17/09/2004 à 13:31
allserv
Non pas du tout, ce que je fais c'est que avant d'insérer je veux pouvoir montrer sous quel id l'article sera enregistré....
plc2k
le 17/09/2004 à 14:37
plc2k
je vais ptet dir une betise, mais faire une petite requete avant pour voir quel est le dernier id ... ça te va pas ???
genre :
select id from table order by id DESC Limit 1

a++
plc2k
le 17/09/2004 à 14:37
plc2k
of course tu fais +1 à la variable recupérée pour avoir le suivant
allserv
le 17/09/2004 à 15:51
allserv
Oui mais si je suis au 6, et je ne veux plus de l'article, je supprime l'id 6 et donc l'id récupéré sera le 6 (5+1) alors que ca devrait etre le 7 smiley

C'est drole j'aurais pensé qu'une fonction existerait pour cela...
zebden
le 17/09/2004 à 16:50
zebden
Bin je vais etre franc ca n'as vraiment aucun interet de savoir l'id suivante , l'id si tu veux c'est plus pour s'en servir de clé pour des jointures etc etc ...
Apres la terre va s'arreter de tourner si tu dis pas :
" L'id du prochain article sera pouet" ?? donc voila , a moins que j'ai mal saisie son interet pour toi .
zebdinou pour les intimes / Blog : http://www.zebden.fr
Répondre
LoadingChargement en cours