2009-07-07 7 views
0

J'ai deux bases de données:transfering MySQL Les enregistrements de base de données à la base de données

Transactions et liste des clients

Je veux remplir la base de données de la liste des clients avec les informations du client qui se trouve dans la base de données de transactions. Je ne souhaite pas transférer TOUTES les informations de la base de données des transactions car la base de données de la liste des clients a une structure différente.

Comment puis-je transférer ces enregistrements? Comment puis-je ignorer les enregistrements déjà entrés dans la base de données de la liste des clients (il y a plusieurs transactions par client). La principale différence entre les clients est leur numéro d'identification.

Des idées? Merci!

Répondre

0

Il est probablement préférable d'écrire un script dans le langage de programmation de votre choix et d'exécuter ce script (Python, PHP, JAVA, n'importe quoi).

Vous aurez alors un contrôle programmatique granulaire sur ce qui est transféré de l'ancienne base de données en plus de l'endroit où elle est transférée dans la nouvelle base de données.

Ce script est essentiellement une boucle qui vérifie si l'enregistrement que vous prévoyez d'entrer dans l'ancienne base de données existe dans la nouvelle table. Sinon, entrez-le. Si oui, ne l'entrez pas.

Vous pouvez tester le script en premier sur des bases de données fictives jusqu'à ce que vous soyez sûr (assurez-vous de faire une sauvegarde de vos bases de données actuelles).

+0

VAGUE mais j'ai quelque chose pour ce code et cela a fonctionné comme un charme. Je publierai le code bientôt. –

0

si elles sont sur le même serveur, vous pouvez simplement utiliser une requête INSERT...SELECT à travers les deux schémas de base de données

INSERT INTO customerdb.customertbl (colA,colB) 
SELECT foo,bar FROM transactiondb.customertbl WHERE criteria=whatever; 
+0

Comment pourrais-je l'empêcher d'entrer deux enregistrements avec le même numéro d'identification? J'ai le numéro d'identification comme clé primaire .. Alors peut-être que cela l'empêchera? Merci de votre aide! –

Questions connexes