2009-03-19 10 views
-1

J'ai besoin de fusionner deux bases de données mysql avec un schéma identique. Je suis à la recherche d'un outil capable de lire les métadonnées de base de données (PK, FK) et de générer automatiquement de nouvelles PK, mettant à jour automatiquement tous les FK.Comment puis-je fusionner deux bases de données mysql avec un schéma identique?

+0

de la pk Je dois aussi faire cela, sauf que je dois fusionner sur 6 bases de données MySQL avec le schéma identique, le maintien des relations clés étrangères. –

+0

Je pense qu'une fois que nous avons un moyen de le faire pour deux bases de données, le faire pour 6 bases de données nécessitera simplement répéter le processus cinq fois –

Répondre

3

Découvrez SqlYog - http://www.webyog.com/en/. Il y a un essai de 30 jours pour l'édition d'entreprise qui inclut un outil pour synchroniser les données entre les bases de données (parmi beaucoup d'autres outils utiles).

+0

NOTE: Ils permettent seulement deux tables de base de données à la fois dans la version d'essai. –

-2

Je ne sais pas exactement ce que vous voulez dire, mais si vous avez deux bases de données et que vous voulez les faire identifcal, essayez cet outil - Database compare

+0

Il semble que ses bases de données sont déjà identiques, et il veut juste combiner les données en eux. –

1

pour chaque table:

insert into `target db`.`table` 
(`all`,`clumns`,`except`,`pk`) 

select (`all`,`clumns`,`except`,`pk`) form `source db`.`table`; 

vous pouvez générer ce avec php ou même en sql ne pas oublier information_schema. columns

select TABLE_NAME,COLUMN_NAME from `information_schema`.`COLUMNS` WHERE `COLUMN_KEY` <> 'PRI' AND TABLE_SCHEMA='source db' 

maintenant vous avez tous les noms de colonnes sans

+0

Jusqu'ici tout va bien, mais nous devrons aussi mettre à jour les FK –