Commmint Posté 26 Juin 2005 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vincent Posté 26 Juin 2005 Partager 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=''") Lien vers le commentaire Partager sur d’autres sites More sharing options...
Commmint Posté 26 Juin 2005 Auteur Partager Posté 26 Juin 2005 Génial effectivement c'est INSERT_ID qu'il me faut !!! je teste tout de suite. Merci Vincent Lien vers le commentaire Partager sur d’autres sites More sharing options...
Commmint Posté 26 Juin 2005 Auteur Partager 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 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vincent Posté 26 Juin 2005 Partager 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant