Index du forum »»  Le coin des codeurs »» insérer des enregistrements dans une table liée à 2 autres

insérer des enregistrements dans une table liée à 2 autres#5984

2Contributeur(s)
Anonymedeveloppeur
3 Modérateur(s)
developpeurjpbJireck
Anonyme Anonymeicon_post
Bonjour à tous,

voici mes 3 tables :

- 1 table jeunes avec comme champs : id_jeune (primaire), nom, prenom,... etc ...
- 1 table referents avec comme champs : id_referent (primaire), nom, prenom,... etc ...
- 1 table referents_jeune : seulement 2 champs dans cette table id-referent et id_jeune (l'ensemble des 2 champs en clé primaire et unique).

Je voudrais insérer des enregistrements dans la table referents_jeune par une requête : je l'ai essayé dans PhpMyAdmin : j'ai une erreur et je ne la trouve pas.

La voici :
INSERT INTO referents_jeune.id_referent, referents_jeune.id_eleve SELECT jeunes, referents, referents_jeune FROM referents_jeune, referents, jeunes WHERE jeunes.id_eleve = referents_jeune.id_eleve AND referents.id_referent = referents_jeune.id_referent

Comment l'écrire avec la bonne syntaxe puisque j'ai le message d'erreur suivant :
Erreur
MySQL a répondu:

Something is wrong in your syntax près de ' referents_jeune.id_eleve SELECT jeunes, referents, referents_je' à la ligne 1

Merci d'avance à ceux qui pourraient m'aider.

Cordialement,

ET
developpeur developpeuricon_post
tu peut pas faire 2 requetes se sera plus simple pour la mise au point : une de selection et une d'insert ?
Anonyme Anonymeicon_post
Bonjour à tous,

Ca y est : cela marche.

Il fallait écrire la requête comme ceci :

"INSERT INTO referents_jeune
SELECT referents.id_referent, jeunes.id_eleve
FROM referents, jeunes
WHERE (jeunes.nom LIKE \"%%$nomj%%\")
AND (jeunes.prenom LIKE \"%%$prenomj%%\")
AND (referents.nom LIKE \"%%$nomr%%\")
AND (referents.prenom LIKE \"%%$prenomr%%\")";

nomj, prenomj, nomr et prenomr représentent les variables contenues dans les champs de saisie dans le formulaire.

Encore merci à ceux qui m'ont aidé.

Gundt
:=!