Requete sql insert into + select (php)

Fermé
Mélanie - Modifié par Mélanie le 13/04/2011 à 08:56
josh64 Messages postés 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 - 13 avril 2011 à 11:10
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 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
13 avril 2011 à 10:12
Bonjour,

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

0
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 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 1
13 avril 2011 à 10:14
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
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 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 1
13 avril 2011 à 11:00
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
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 56 Date d'inscription jeudi 6 novembre 2008 Statut Membre Dernière intervention 18 janvier 2013 1
13 avril 2011 à 11:10
Ok, donc ta requête ne doit rien renvoyé. T'as peu être un problème dans tes jointures.
0