Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
862 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  exécuter un script de migration de données entre bases SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

exécuter un script de migration de données entre bases SQL

n°1218726
thireg
Posté le 09-10-2005 à 14:34:42  profilanswer
 

Bonjour,
 
voila mon souhait :  
 
1/ j'ai une BDD appelée monsite_fr_1 , avec une table qui se nomme table_1 ; dans cette table se trouve, entre autre, 3 champs appelés "pseudo" , "passe" , et "email" .
 
2/ j'ai une autre BDD appelée monsite_fr_2 , avec une table appelée table_2 ; dans cette table se trouve 3 champs appelés "user_pseudo" , "user_pw" et "user_mail"...
 
J'aimerais effectué une requête automatique , tous les jours , qui fasse que toutes les données des 3 champs la table_1 s'upgradent dans la table_2 , dans les champs en question... (sans modifier celles déja présentes , juste un UPGRADE avec les nouvelles du jour!!!)
 
est-ce possible? mais comment ?
 
merci de votre aide

mood
Publicité
Posté le 09-10-2005 à 14:34:42  profilanswer
 

n°1218728
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 14:40:43  profilanswer
 

tu peux faire par exemple

Code :
  1. insert into monsite_fr_2.table_2(cleunique,user_pseudo,user_pw,user_mail)
  2. select cleunique,pseudo,passe,email
  3. from monsite_fr_1.table_1 where monsite_fr_1.table_1.cleunique not in
  4.                  (
  5.                   select cleunique from monsite_fr_2.table_2
  6.                  )


Message édité par betsamee le 09-10-2005 à 14:49:40
n°1218732
thireg
Posté le 09-10-2005 à 14:44:21  profilanswer
 

Ok merci de ta répons e;
mais j'ecris cela dans un fichier txt ?
et j'exécute sur quelle base ?  

n°1218736
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 14:49:00  profilanswer
 

tu ecris ca dans un fichier texte (auquel tu peux donner l'extension .sql par exemple :D) il peut etre execute dans l'une ou l'autre des bdd
 
P.S : j'ai edite mon precedent message avec la syntaxe correcte

n°1218740
thireg
Posté le 09-10-2005 à 14:52:59  profilanswer
 

question ? -excuse mais je suis de trés bas nivô :)) -  , cela n'efface pas les données vers la base 2 ?  c'est juste un update de la base 2 ?  

n°1218744
thireg
Posté le 09-10-2005 à 14:54:22  profilanswer
 

d'autre part dans la table_1 , j'ai 2 clefs uniques ( id , et id_membre)

n°1218752
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:00:30  profilanswer
 

je pense que tu peux faire un petit effort a partir de la
bonne chance [:petrus75]
P.S : pas besoin de creer 25 topics pour le meme pb

n°1218762
thireg
Posté le 09-10-2005 à 15:04:29  profilanswer
 

pas cooll... please

n°1218773
thireg
Posté le 09-10-2005 à 15:13:01  profilanswer
 

j'ai effectué la requete...réponse erreur !
 
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select user_id from monsite_fr_2.table_2  
                 )'  

n°1218776
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:15:50  profilanswer
 

tu as execute ma requete sans savoir ce qu'elle fait?
c'est ce qu on appele avoir des couilles [:pingouino]
quelle est la version de MySQL que tu utilises?

mood
Publicité
Posté le 09-10-2005 à 15:15:50  profilanswer
 

n°1218778
thireg
Posté le 09-10-2005 à 15:19:12  profilanswer
 

chez Lycos , d'après eux, dernière version !

n°1218779
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:20:15  profilanswer
 

peux tu poster la requete que tu as executee stp?

n°1218781
thireg
Posté le 09-10-2005 à 15:20:58  profilanswer
 

MySQL 4.0.18

n°1218786
thireg
Posté le 09-10-2005 à 15:22:57  profilanswer
 

insert into monsite_fr_2.dc_user(user_id,user_pseudo,user_pw,user_mail)  
select id,pseudo,passe,email  
from monsite_fr_3.membre where monsite_fr_3.membre.id not in  
                 (  
                  select user_id from monsite_fr_2.dc_user  
                 )

n°1218787
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:23:10  profilanswer
 

ta version (anterieure a 4.1.1) ne permet pas les sous requetes il faut donc trouver une autre solution

n°1218788
thireg
Posté le 09-10-2005 à 15:25:18  profilanswer
 

:(  

n°1218789
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:28:09  profilanswer
 

tu peux faire a la place :

Code :
  1. insert into monsite_fr_2.dc_user(user_id,user_pseudo,user_pw,user_mail) 
  2. select id,pseudo,passe,email 
  3. from monsite_fr_3.membre left join monsite_fr_2.dc_user on id=user_id
  4.                                                                      and user_id is NULL

n°1218794
thireg
Posté le 09-10-2005 à 15:36:36  profilanswer
 

Ok ca a marché à...une bêtise prête : cé de ma faute :(
 
en fait dans le champ de destination user_id , c'est une valeur ouvrant des droits spécifiques ! soit 1 , soit 2 ou 3  ....mais pas 155 :((
 

n°1218796
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:37:43  profilanswer
 

rien compris

n°1218801
thireg
Posté le 09-10-2005 à 15:40:08  profilanswer
 

la migration des données du champ source "id" (données incrément) , se sont collées dans le champ cible "user_id" , qui n'est pas un champ "incrément" , mais un champ qui donne une valeur de droits selon l'inscription que valide l'administrateur ( que 3 valeurs )

n°1218804
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:43:05  profilanswer
 

thireg a écrit :

la migration des données du champ source "id" (données incrément) , se sont collées dans le champ cible "user_id" , qui n'est pas un champ "incrément" , mais un champ qui donne une valeur de droits selon l'inscription que valide l'administrateur ( que 3 valeurs )


ben il faut juste trouver le bon equivalent dans la tble source non ? [:jean-guitou]
une question me taraude la , tu fais pas tes tests sur les donnees de production la hein??


Message édité par betsamee le 09-10-2005 à 15:43:24
n°1218806
thireg
Posté le 09-10-2005 à 15:45:17  profilanswer
 

:)) je suis un peu casse cou ! I KNOW IT
 
Yes , mais je peux modifier tout cela plus rapidement au travers du tableau d'amin de l'appli cible.... ce sera bcp moins long que tout resaisir !!!
Merci bcp à toi ++++
:)

n°1218808
betsamee
Asterisk Zeperyl
Posté le 09-10-2005 à 15:47:50  profilanswer
 

bonne chance dans la vie , tu execute des requetes (donnees par un etranger) que tu comprends pas sur tes bases de prod [:pingouino]


Message édité par betsamee le 09-10-2005 à 15:51:21
n°1218809
thireg
Posté le 09-10-2005 à 15:51:55  profilanswer
 

t'inquiete suis pas completement fou ! j'ai bien compris ta requete ! mais j'avais tout simplement pas fais gaffe aux données de ce champs là !!!mais pas grave !!! l'essentiel est que le schmililiblikkkk avance

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  exécuter un script de migration de données entre bases SQL

 

Sujets relatifs
Exécuter une page extérieur dans un Crontab ?importer données d'une base MySQL dans une autre..Help
compilation 'statique' d'un script perl pour windowsProblème de connexion à ma base de données
mon 1er script php, mot de passe sur page web ; comment faire?Script relever comptes POP
[AIDE PHP] manque une ou 2 commandes sur mon script...Base de données des viles et des départements
Migration sous Mysql... résultat de la requete videscript shell - savoir si un processus est lancé
Plus de sujets relatifs à : exécuter un script de migration de données entre bases SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR