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

exécuter un script de migration de données entre bases SQL - SQL/NoSQL - Programmation

Marsh Posté le 09-10-2005 à 14:34:42    

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

Reply

Marsh Posté le 09-10-2005 à 14:34:42   

Reply

Marsh Posté le 09-10-2005 à 14:40:43    

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
Reply

Marsh Posté le 09-10-2005 à 14:44:21    

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

Reply

Marsh Posté le 09-10-2005 à 14:49:00    

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

Reply

Marsh Posté le 09-10-2005 à 14:52:59    

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 ?  

Reply

Marsh Posté le 09-10-2005 à 14:54:22    

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

Reply

Marsh Posté le 09-10-2005 à 15:00:30    

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

Reply

Marsh Posté le 09-10-2005 à 15:04:29    

pas cooll... please

Reply

Marsh Posté le 09-10-2005 à 15:13:01    

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  
                 )'  

Reply

Marsh Posté le 09-10-2005 à 15:15:50    

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?

Reply

Marsh Posté le 09-10-2005 à 15:15:50   

Reply

Marsh Posté le 09-10-2005 à 15:19:12    

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

Reply

Marsh Posté le 09-10-2005 à 15:20:15    

peux tu poster la requete que tu as executee stp?

Reply

Marsh Posté le 09-10-2005 à 15:20:58    

MySQL 4.0.18

Reply

Marsh Posté le 09-10-2005 à 15:22:57    

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  
                 )

Reply

Marsh Posté le 09-10-2005 à 15:23:10    

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

Reply

Marsh Posté le 09-10-2005 à 15:25:18    

:(  

Reply

Marsh Posté le 09-10-2005 à 15:28:09    

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

Reply

Marsh Posté le 09-10-2005 à 15:36:36    

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 :((
 

Reply

Marsh Posté le 09-10-2005 à 15:37:43    

rien compris

Reply

Marsh Posté le 09-10-2005 à 15:40:08    

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 )

Reply

Marsh Posté le 09-10-2005 à 15:43:05    

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
Reply

Marsh Posté le 09-10-2005 à 15:45:17    

:)) 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 ++++
:)

Reply

Marsh Posté le 09-10-2005 à 15:47:50    

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
Reply

Marsh Posté le 09-10-2005 à 15:51:55    

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

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed