Matczek Geschrieben 29. November 2006 Teilen Geschrieben 29. November 2006 Hallo Leute, gibt es ein Tool welches zwei MySQL Datenbanken in eine DB zusammenführt? Die Tabellen sind bei beiden identisch, es müssen "nur" die Daten abgeglichen werden... Oder muss ich da jetzt ein Programm schreiben welches die Daten manuell in die neue DB schreibt? Da die DB Struktur ziemlich kompliziert aussieht, würde ich dies gerne vermeiden... lg Matthias Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 29. November 2006 Teilen Geschrieben 29. November 2006 Mit dem MySQL Admin einen Export der Tabellen, und dann einfach die Zeile "use DBName" anpassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Scratch Geschrieben 29. November 2006 Teilen Geschrieben 29. November 2006 Hi, das sollte über ein einfachs INSERT SELECT funktionieren. Probiers mal damit --> http://dev.mysql.com/doc/refman/5.0/en/insert-select.html Kurzes Beispiel: INSERT INTO `table1` (`field1`,`field2`,`field3`) SELECT `field1`,`field1`,`field1` FROM `table2` Falls sich die Tabellen überschneiden was die Keys angeht benutze zusätlich "ON DUPLICATE KEY UPDATE" Gruß Scratch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Matczek Geschrieben 29. November 2006 Autor Teilen Geschrieben 29. November 2006 @JesterDay: Der exportiert doch auch die Primary Keys Daten oder? Und die Überschneiden sich mit den vohandenen Daten in der anderen DB... @Scratch Dort sind es die foreign Keys die dann auf andere Daten zeigen würden... Matthias Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Scratch Geschrieben 29. November 2006 Teilen Geschrieben 29. November 2006 Dann wirst du keine andere Wahl haben als die Stammtabellen vorher abzugleichen ... Damit du später auch den richtigen Bezug zum FK wieder findest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Matczek Geschrieben 29. November 2006 Autor Teilen Geschrieben 29. November 2006 autsch, genau dies wollte ich vermeiden... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 29. November 2006 Teilen Geschrieben 29. November 2006 Ich hatte Die Tabellen sind bei beiden identisch, es müssen "nur" die Daten abgeglichen werden... übersehen...Du könntest es auch mit einem INSERT ... SELECT machen und alle Felder bis auf den Primary im SELECT angeben und den Primary key als AutoInc Feld definieren und im SELECT dafür fest NULL auswählen Also INSERT INTO NeueDB.NeueTabelle (ID, Feld1, Feld2) SELECT NULL, Feld1, Feld2 FROM DB1.AlteTabelle1 und INSERT INTO NeueDB.NeueTabelle (ID, Feld1, Feld2) SELECT NULL, Feld1, Feld2 FROM DB2.AlteTabelle2 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Matczek Geschrieben 30. November 2006 Autor Teilen Geschrieben 30. November 2006 Aber wenn eine andere Tabelle auf diese ID referenziert, habe ich den Bezug nicht mehr (neue DB). Also werde ich das wohl doch manuell machen müssen, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 30. November 2006 Teilen Geschrieben 30. November 2006 Aber wenn eine andere Tabelle auf diese ID referenziert... Dann hast du eh ein Problem, weil bei einer Tabelle sich auf jeden Fall die IDs ändern werden (Und somit auch die, die darauf verweisen sich ändern müssen). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.