Requete sql insert into + select (php)

Mélanie -  
josh64 Messages postés 58 Statut Membre -
Bonjour,

Je vous écris car j'ai grandement besoin de votre aide.
J'ai 5 tables sur MySQL et je voudrais insérer certains champs dans ces 5 tables dans une seule.
Voici la requête que j'ai fais dans un fichier *.php, cependant elle ne fonctionne pas mais ne me revois aucune erreur.

$sql="INSERT INTO relait_mip.gg_eleves  
SELECT gg_resp1.UAJ, gg_resp1.ANNEE_SCOLAIRE, gg_el1.ELEVE_ID, gg_el1.ELENOET, gg_el1.NOM, gg_el1.PRENOM, gg_structure.CODE_STRUCTURE, gg_structure.LIBELLE_LONG, gg_structure.CODE_MEF, mip_diplomes.type_dip, mip_diplomes.libelle, gg_el1.DATE_NAISS, gg_resp3.LIGNE1_ADRESSE, gg_resp3.LIGNE2_ADRESSE, gg_resp3.LIGNE3_ADRESSE, gg_resp3.CODE_POSTAL, gg_resp3.LL_PAYS, gg_resp3.LIBELLE_POSTAL, gg_resp3.COMMUNE_ETRANGERE 
FROM relait_mip.gg_el1, relait_mip.gg_el2, relait_mip.gg_resp1, relait_mip.gg_resp2, relait_mip.gg_resp3, relait_mip.gg_structure, relait_mip.gg_mef_dip, relait_mip.mip_diplomes 
WHERE gg_el1.ELEVE_ID = gg_resp2.ELEVE_ID2 
AND gg_resp1.PERSONNE_ID = gg_resp2.PERSONNE_ID2 
AND gg_resp1.ADRESSE_ID = gg_resp3.ADRESSE_ID3 
AND gg_el2.CODE_STRUCTURE9 = gg_structure.CODE_STRUCTURE 
AND gg_structure.CODE_MEF = gg_mef_dip.CODE_MEF 
AND gg_mef_dip.code_diplome = mip_diplomes.c_diplome"; 


$req=mysql_query($sql)or die (mysql_error()); 




Je n'arrive pas a comprendre ce qui cloche.
J'aimerais beaucoup avoir votre aide.
Merci à tous !

Mélanie

2 réponses

Gremy87 Messages postés 360 Statut Membre 38
 
Bonjour,

quelle est l'erreur qu'il t'annonce quand tu la mets sous mysql directement (phpmyadmin ou mysql directement) ? erreur de syntaxe?

0
Mélanie
 
Il ne me donne aucune erreur, il y a juste écris: Nombre d'enregistrements insérés : 0 (traitement: 0.0025 sec.)

En fait c'est comme si la requête fonctionnait bien mais rien ne se passe.
0
josh64 Messages postés 58 Statut Membre 1
 
Bonjour Mélanie,

Qu'es ce que tu veux dire par inserrer de nouveaux champs?
Tu veux dire de nouvelles données?

Sinon ta requête devrait être de la forme :

INSERT INTO "table1" ("colonne1", "colonne2", ...)
SELECT "colonne3", "colonne4", ...
FROM "table2"
0
Mélanie
 
Oui en fait je veux prendre certains champs des tables qui sont sur ma base de données, et les insérer dans une nouvelle. de façon à avoir une table avec juste les champs qui m'interesse !
0
josh64 Messages postés 58 Statut Membre 1
 
Es ce que tu as testé si ta requête (sans le INSERT INTO) revoyé quelque chose?

Après dans ton INSERT INTO il faut que tu précises le nom des colonnes dans lesquelles tu veux inserer tes données.
0
Mélanie
 
Oui je viens de tester sans le insert into dans MySQL et voici ce qu'il me dit:

Votre requête SQL a été exécutée avec succès (traitement: 0.0020 sec.)

Mais rien ne s'affiche !

Pour le insert into avec le nom des colonnes, déjà fait mais ça ne fonctionne pas non plus.
0
josh64 Messages postés 58 Statut Membre 1
 
Ok, donc ta requête ne doit rien renvoyé. T'as peu être un problème dans tes jointures.
0