Zusammenführen von Datenbanken

blackhawk31

Cadet 4th Year
Registriert
Aug. 2010
Beiträge
74
Guten Morgen zusammen,

eine kurze Frage:
Ist es Möglich zwei Datenbanken mit gleichem Namen , teilweise auch identischen Tabellennamen aber unterschiedlichen Daten zu einer Datenbank zusammenzuführen???
ALso nen Merge der beiden zu machen?

Danke für Infos!

Gruß
 
SQL?
mach doch einen JOIN - Befehl..

oder willst du beide DB direkt zu einer zusammenfügen?! und falls ja, aus welchem grund? Mit Join bleibt es doch übersichtlicher..
 
Ja SQL Datenbank.

Die müssen direkt zusammengefügt werden, da beide nun auf einem Server laufen sollen.
 
Antwort: Ja, das ist möglich.
 
Nimm ein beliebiges Tool (z.B. MySQLWorkbench oder Sequel Pro oder mysqldump auf der Konsole) und exportier die Daten aus der einen Datenbank. Dann passt du im exportierten File die Tabellen- und Spaltennamen an und danach importiest du sie in die andere Datenbank.
 
Ich würde hier eine stufenweise Integration/Merge durchführen.

1. Quell-Datenbank tabellenweise als ASCII entladen (unload ascii) in einem CSV-Format.
1.1 per CSV-Editor eine Datenbereinigung (Struktur, inhaltlich) durchführen

2. Import in Ziel-Datenbank (z.B. Doppelte Datensätze aussortieren)

3. Zusammengeführten Datenbestand nutzen.
 
Beide Tabellen haben auch teilweise die gleichen IDs

Habe das bis jetzt schon in PHPmyAdmin getestet...
 
mit den gleiden IDs ist das natürlich Mist, aber kein Problem. exportier die Daten ohne ID. Wenn die Datenbank ordentlich konfiguriert wurde, wird beim INSERT ja eine neue ID erzeugt.
 
Ich würd die Datenbanken/Tabellen einfach mit einem INSERT INTO SELECT kopieren, dabei kannst du auch neue IDs vergeben lassen.
Wenn die Datenbanken nicht auf dem selben Server laufen musst du halt mit federated-tables arbeiten.
 
Das bringt nur bei jedem leidlich komplexen Datenbankmodell nix, weil die Foreign Keys hier nicht mit angepasst werden.

Also: Nein, es geht nicht ohne weiteres. Du musst ein Script schreiben, das den Kram unter Erhalt der referentiellen Integrität Datensatz für Datensatz importiert.
 
Ja, wenn es Foreigen Keys gibt geht es nicht anders als sich ein kleines Programmm zu schreiben.
 
@kelox MS-SQL != mySQL
 
Wenn es nicht zu viele Tabellen sind, addier doch auf die IDs von einer DB eine (große) Konstante dazu (update set id=id+123), bevor du die Datebank exportierst. (Bitte nicht ohne Backup testen) Falls du sogar überall die Foreign keys mit On UPDATE CASCADE angelegt hast, reicht es / ist es zwingend notwendig, es nur bei der "Wurzeltabelle" durchzuführen.
 
Zurück
Oben