Importer donnée d'1 base et inserer ds autre
smile88
Messages postés
51
Date d'inscription
Statut
Membre
Dernière intervention
-
fiu -
fiu -
Bonsoir,
svp je veux importer des données d'une base données et l'inserer dans une autre base
j'ai essayé ce code mais il ne marche pas
svp je veux importer des données d'une base données et l'inserer dans une autre base
j'ai essayé ce code mais il ne marche pas
<?php include('salome.php'); $LINK1 = mysql_connect('localhost', 'user_iga', 'azert'); mysql_select_db('iga1', $LINK1); $rs = mysql_query("select PROF_SALOME from iga1.profil where NOM_PROF ='$prof'", $LINK1); $sql = "insert into salome_bd.PERSONNE_GROUPE values ('select id_personne from PERSONNE where login_personne = '$login'),'$rs',NULL)"; $requete = mysql_query($sql) or die( mysql_error() ) ; ?>
A voir également:
- Importer donnée d'1 base et inserer ds autre
- Insérer video powerpoint - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Insérer signature word - Guide
- Insérer liste déroulante excel - Guide
- Base de registre - Guide
5 réponses
Salut,
Le mot-clé VALUES sert à énumérer les valeurs à insérer. Si ces valeurs à insérer sont le résultat d'un SELECT, la requête est alors simplement
INSERT INTO table SELECT ...
dans ton cas, ta requête devrait ressembler à
"insert into salome_bd.PERSONNE_GROUPE select id_personne from PERSONNE where login_personne = '$login'"
attention toutefois : les colonnes renvoyées par le select doivent correspondre à ce que tu cherches à insérer
ex: si tu ne veux alimenter que 3 colonnes d'une table qui en comporte douze, tu dois faire un un truc du genre : INSERT into bidules(bidule_id, compte, cat) SELECT user_id, nb_interventions, '5' from users where class='ADMIN'
Le mot-clé VALUES sert à énumérer les valeurs à insérer. Si ces valeurs à insérer sont le résultat d'un SELECT, la requête est alors simplement
INSERT INTO table SELECT ...
dans ton cas, ta requête devrait ressembler à
"insert into salome_bd.PERSONNE_GROUPE select id_personne from PERSONNE where login_personne = '$login'"
attention toutefois : les colonnes renvoyées par le select doivent correspondre à ce que tu cherches à insérer
ex: si tu ne veux alimenter que 3 colonnes d'une table qui en comporte douze, tu dois faire un un truc du genre : INSERT into bidules(bidule_id, compte, cat) SELECT user_id, nb_interventions, '5' from users where class='ADMIN'
j'ai rien compris
moi je veux inserer dans salome_bd.PERSONNE_GROUPE(personne_id_personne, groupe_id_groupe) en sachnt que /
*la variable personne_id_groupe c'est l'attibut id_personne de la table salome_bd.PERSONNE (meme BD)
* La variable groupe_id_groupe c'est l'attribut PROF_SALOME de la table iga1.profil (autre BD)
moi je veux inserer dans salome_bd.PERSONNE_GROUPE(personne_id_personne, groupe_id_groupe) en sachnt que /
*la variable personne_id_groupe c'est l'attibut id_personne de la table salome_bd.PERSONNE (meme BD)
* La variable groupe_id_groupe c'est l'attribut PROF_SALOME de la table iga1.profil (autre BD)
grace à ta reponse on sait enfin quelles sont les valeurs à inserer : id_personne d'une part et prof_salome d'autre part
ta requete est donc :
insert into salome_bd.PERSONNE_GROUPE(personne_id_personne, groupe_id_groupe) select id_personne, PROF_SALOME from salome_bd.PERSONNE , iga1.profil where le_critere_de_jointure_qui_va_bien and login_personne = '$login'
=> le select renvoie n lignes de 2 colonnes en provenance de 2 tables jointes grace au critère que toi seul connais, chacune de ces tables étant dans 2 databases différentes.
=> ces n lignes de 2 colonnes renvoyées sont insérées dans les colonnes personne_id_personne & groupe_id_groupe de la table personne_groupe
cadeau bonus: un peu de littérature sur le insert into
ta requete est donc :
insert into salome_bd.PERSONNE_GROUPE(personne_id_personne, groupe_id_groupe) select id_personne, PROF_SALOME from salome_bd.PERSONNE , iga1.profil where le_critere_de_jointure_qui_va_bien and login_personne = '$login'
=> le select renvoie n lignes de 2 colonnes en provenance de 2 tables jointes grace au critère que toi seul connais, chacune de ces tables étant dans 2 databases différentes.
=> ces n lignes de 2 colonnes renvoyées sont insérées dans les colonnes personne_id_personne & groupe_id_groupe de la table personne_groupe
cadeau bonus: un peu de littérature sur le insert into
jai fait comme tu as dis voila le code mais le problème persiste
include ('salome.php'); //execution requete sql_salome : $sql3 = "insert into PERSONNE (id_personne, login_personne, nom_personne, prenom_personne, email_personne, mot_de_passe) values (NULL,'$login','$nom','$prenom','$email','$pwd')"; $requete3 = mysql_query($sql3) or die( mysql_error() ) ; $sql4="insert into salome_bd.PERSONNE_GROUPE(personne_id_personne, groupe_id_groupe) select id_personne, PROF_SALOME from salome_bd.PERSONNE , iga1.profil where login_personne = '$login',NOM_PROF ='$prof'"; $requete4 = mysql_query($sql4) or die( mysql_error() ) ;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
normal, dans $sql4 il n'y a pas de jointure entre tes deux tables. qui plus est, tes critères dans le where (là où devrait se trouver la jointure) sont séparés par des virgules alors qu'il faut les séparer par des AND
il te faut trouver deux attributs de chacune de ces deux tables qui puissent être mis en correspondance et qui puissent dans tous les cas matérialiser une relation entre ces deux tables (ex: le code postal dans le fichier client et dans le fichier villes ; le code article entre le fichier articles et le fichier facturation)
et avant d'écrire ton prochain post, il serait préférable que tu te replonges un peu dans l'algèbre relationnel et la syntaxe de SQL
...ou d'ignorer totalement ces aspects mais alors il faudrait présenter le détail des tables que tu utilises et le but que tu cherches à atteindre
il te faut trouver deux attributs de chacune de ces deux tables qui puissent être mis en correspondance et qui puissent dans tous les cas matérialiser une relation entre ces deux tables (ex: le code postal dans le fichier client et dans le fichier villes ; le code article entre le fichier articles et le fichier facturation)
et avant d'écrire ton prochain post, il serait préférable que tu te replonges un peu dans l'algèbre relationnel et la syntaxe de SQL
...ou d'ignorer totalement ces aspects mais alors il faudrait présenter le détail des tables que tu utilises et le but que tu cherches à atteindre