2009-03-19 7 views
-1

Ich muss zwei zwei MySQL-Datenbanken mit identischem Schema zusammenführen. Ich suche nach einem Werkzeug, das Datenbankmetadaten lesen kann (PK, FK) und automatisch neue PKs generiert, wobei alle FKs automatisch aktualisiert werden.Wie kann ich zwei MySQL-Datenbanken mit identischem Schema zusammenführen?

+0

Ich brauche auch, dies zu tun, es sei denn ich etwa 6 MySQL-Datenbanken mit identischen Schema müssen fusionieren, Fremdschlüsselbeziehungen aufrechtzuerhalten. –

+0

Ich denke, sobald wir eine Möglichkeit haben, dies für zwei Datenbanken zu tun, müssen wir für 6 Datenbanken nur den Prozess fünf Mal wiederholen. –

Antwort

3

Schauen Sie sich SqlYog - http://www.webyog.com/en/. Es gibt eine 30-Tage-Testversion für die Enterprise-Edition, die ein Tool zur Synchronisierung von Daten zwischen Datenbanken (neben vielen anderen nützlichen Tools) enthält.

+0

HINWEIS: Sie erlauben nur zwei Datenbanktabellen gleichzeitig in der Testversion. –

-2

Nicht sicher genau das, was du meinst, aber wenn Sie zwei Datenbanken bekommen und wollen sie identifcal machen, versuchen Sie dieses Werkzeug - Database compare

+0

Es scheint, dass seine Datenbanken bereits identisch sind, und er will nur die Daten in ihnen kombinieren. –

1

für jeden Tisch:

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

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

können Sie diese erzeugen mit PHP oder auch in sql nicht vergessen information_schema. columns

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

jetzt haben Sie alle Spaltennamen ohne die pk

+0

So weit so gut, aber wir müssen auch die FKs aktualisieren –

Verwandte Themen