MySQl Datenbank zusammenführen?

...komplette Frage anzeigen

3 Antworten

Hallo,

Meine Informationen sind nur dann hilfreich, wenn Du sql-Syntax beherschst!

Du kannst mit PHP-MyAdmin einen sql-drop machen. Dabei erhältst Du eine Text Datei mit sql-Befehlen, die eine Datenbank anlegen. Du kannst diese Befehle per Copy&Paste einfügen. Entweder Du machst die Datenbank auf einen anderen Server(einfache methode) oder Du passt die sql-Syntax an, und integrierst die eine Datenbank in die andere (aufwendige Methode & bei fehlern kannst Du dir die Datenbank zerschießen!) Also auf jeden Fall bevor Du zur Tat schreitest, mit PHP-MyAdmin ein Komplettes Backup der Datenbank anlegen, damit Du diese bei Fehlern wieder herstellen kannst!

DROP ist löschen. Du meinst einen Dump. Das funktioniert aber nur, wenn er die IDs nicht mitsichert und sie von alleine hochgerechnet werden. Denn wenn das 2 verschiedene Datenbanken nach dem gleichen Schema waren, sind die IDs doppelt vergeben und das geht nicht.

0

Das Problem mit der doppelten ID hast du ja schon beschrieben. Ich würde sagen, du machst folgendes:

  • Dump erstellen (also komplette Datenbank ausgeben)
  • leere Datenbank erstellen (kannst dafür auch die alte nehmen, falls du sie nicht mehr brauchst, ich mach das nur zur Sicherheit)
  • Dump einspielen (noch nicht in die zweite Datenbank, sondern in die leere)
  • die letzte Id der zweiten Datenbank nachschauen (z.B. 1040)
  • alle IDs um den genannten Wert erhöhen (zur Not auch ein bissl mehr), aber darauf achten, dass die Fremdschlüssel noch auf die richtigen Felder verweisen (kann fuchsig sein). Gilt natürlich auch für Fremdschlüssel. Das musst du mit JEDER Tabelle machen. Aber für jede zum Glück automatisiert, z.B. Id=Id+25 mit entsprechendem UPDATE-Befehl.
  • Dump von der neuen Datenbank mit den geänderten IDs erstellen
  • Dump in die zweite Datenbank einspielen

Vor allem aber bitte vorher ein Backup der Datenbank machen, damit du das Ganze wiederherstellen kannst, falls was schief läuft.

bei phpMyAdmin kannst du, wenn du deine Datenbank ausgewählt hast oben auf "Exportieren" gehen. Dort kannst du auswählen welche Tabellen du exportieren willst. Mach das einfach mit beiden Datenbanken. Dann hast du zwei *.sql Dateien, in denen alle Infos zu den Datenbaken stehen.

Jetzt kannst du wiederum in phpMyAdmin auf Importieren gehen und deine Tabellen in eine Datenbank hochladen.

Das kann leider nicht klappen da er merkert das ID Doppelt vergeben werden und dsa nicht geht

0

Was möchtest Du wissen?