2009-07-07 13 views
0

Ich habe zwei Datenbanken:Transfering MySQL Datensätze aus der Datenbank zu Datenbank

Transaktionen und Kundenliste

ich die Kundenliste Datenbank mit den Kundeninformationen füllen will, die in der Transaktionsdatenbank ist. Ich möchte nicht ALLE Informationen aus der Transaktionsdatenbank übertragen, da die Datenbank der Kundenliste eine andere Struktur hat.

Wie kann ich diese Datensätze übertragen? Wie kann ich Datensätze überspringen, die bereits in die Kundenlistendatenbank eingegeben wurden (es gibt mehr als eine Transaktion pro Kunde). Der Hauptunterschied zwischen Kunden ist ihre ID-Nummer.

Irgendwelche Ideen? Vielen Dank!

Antwort

0

Es ist wahrscheinlich am besten, ein Skript in der Programmiersprache Ihrer Wahl zu schreiben und dieses Skript auszuführen (Python, PHP, JAVA, irgendetwas).

Sie haben dann granulare programmatische Kontrolle darüber, WAS von der alten Datenbank zusätzlich zu WHERE übertragen wird, in die in der neuen Datenbank übertragen wird.

Dieses Skript wäre im Wesentlichen eine Schleife, die überprüft, ob der Datensatz, den Sie aus der alten Datenbank eingeben möchten, in der neuen Tabelle vorhanden ist. Wenn nicht, geben Sie es ein. Wenn ja, geben Sie es nicht ein.

Sie können das Skript zunächst in Dummy-Datenbanken testen, bis Sie es richtig gemacht haben (stellen Sie sicher, dass Sie eine Sicherungskopie Ihrer aktuellen Datenbanken erstellen).

+0

Vague, verwenden aber ich habe etwas für diese codiert und es funktionierte wie ein Charme. Ich werde den Code bald posten. –

0

, wenn sie auf dem gleichen Server sind, können Sie einfach eine INSERT...SELECT Abfrage über die Schemata zwei Datenbank

INSERT INTO customerdb.customertbl (colA,colB) 
SELECT foo,bar FROM transactiondb.customertbl WHERE criteria=whatever; 
+0

Wie würde ich verhindern, dass zwei Datensätze mit derselben ID-Nummer eingegeben werden? Ich habe die ID-Nummer als Primärschlüssel .. Also wird das vielleicht verhindern? Danke für Ihre Hilfe! –

Verwandte Themen