Commmint Posté 26 Juin 2005 Posté 26 Juin 2005 (modifié) Bonjour à tous, Voilà j'ai un petit soucis MySQL tout bête : Sur une requête INSERT, je souhaite remplir un champ INT de base avec l'ID du nouvel enregistrement créé. Visiblement, le LAST_INSERT_ID() de MySQL retourne 0. j'ai tenté aussi un max(ID) qui ne s'applique pas dans ce contexte. Je souhaite tout faire en une requète... J'ai un champ ID index autoincrémenté et une clé primaire sur un autre champ. ou se trouve l'erreur ? merci pour vos réponses // voilà la requete : mysql_query("INSERT INTO sel_tribune SET auteur=$auteur, titre='$titre', message='$message', date=$date, reponse=LAST_INSERT_ID()") Modifié 26 Juin 2005 par Commmint
Vincent Posté 26 Juin 2005 Posté 26 Juin 2005 Pour php, il y a une fonction pour connaitre l'ID ... APRES la requete mysql_insert_id ton code ressemblerais à : mysql_query("INSERT INTO sel_tribune SET auteur=$auteur, titre='$titre')$monid = mysql_insert_id(); ensuite, pour faire cela directement en SQL, il faut mettre ton champs "autoincrement' et ne pas y inserer de valeur. donc cela fera : mysql_query("INSERT INTO sel_tribune SET auteur=$auteur, titre='$titre', message='$message', date=$date, reponse=''")
Commmint Posté 26 Juin 2005 Auteur Posté 26 Juin 2005 Génial effectivement c'est INSERT_ID qu'il me faut !!! je teste tout de suite. Merci Vincent
Commmint Posté 26 Juin 2005 Auteur Posté 26 Juin 2005 Oups désolé, mais je souhaite réaliser le remplissage du champ avec l'idée de l'INSERT en cours, et ne pas faire deux requètes successives. Donc est ce que je peux connaitre l'ID COURANT de la requète ?
Vincent Posté 26 Juin 2005 Posté 26 Juin 2005 Oups désolé, mais je souhaite réaliser le remplissage du champ avec l'idée de l'INSERT en cours, et ne pas faire deux requètes successives.Donc est ce que je peux connaitre l'ID COURANT de la requète ? <{POST_SNAPBACK}> c'est donc la 2e solution a utiliser : tu laisses le champs ID vide dans ta requete, il faut qu'il soit autoincrement dans la base et SQL fera son travail comme il faut. Si tu as besoin de connaitre l'id, alors ensuite tu utilise la fonction mysql_insert_id pour savoir quel ID SQL a attribué a ton enregistrement.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant