insert into on duplicate key update
Hallo zusammen,
ich stehe momentan vor einem riesen Problem und hoffe ihr könnnt mir helfen.
Aus einer db2 Datenbank hole ich mir mit einem Tool mehrere Tabellen in MySQL.
Das klappt Zeitgesteuert einwandfrei.
Nun habe ich die Daten in zwei MySQL Tabellen die täglich überschrieben werden.
In MySQL habe ich eine dritte Tabelle in der alle Felder von Tabelle 1 und 2 vorkommen plus ein paar zusätzliche.
Wie kann ich nun ein Update machen?
Ich möchte also das meine Tabelle 3 auf dem aktuellen Stand bleibt.
Hoffe ich kann es verständlich darstellen:
Tabelle 1 (Kunden)
index
T1Feld2
T1Feld3
T1Feld4
T1Feld5
T1Feld6
Tabelle 2 (Umsätze)
index (passend zu Tabelle 1 -> Umsätze zu Kunde)
T2Feld2
T2Feld3
T2Feld4
T2Feld5
T2Feld6
T2Feld7
T2Feld8
Tabelle3
kundenid (unabhängig von Tabelle 1 und 2)
T1Feld2
T1Feld3
T1Feld4
T1Feld5
T1Feld6
T2Feld2
T2Feld3
T2Feld4
T2Feld5
T2Feld6
T2Feld7
T2Feld8
T3Feld2
T3Feld3
T3Feld4
T3Feld5
Erschwerend kommt hinzu, dass in meiner Tabelle 3 Kunden drin sind, die noch keine Kundenummer haben, sozusagen potenzielle Kunden. Aber es sollen ja nur die Kunden
aktualisiert werden, die eine Kundennummer haben.
Tabelle hat auch eigene Felder, diese sollten nicht verloren gehen.
In Tabelle 1 habe ich einen Index, dieser kommt in Tabelle 2 auch vor, in Tabelle 2 habe ich die Kundennummer der Kunden, diese habe ich auch wieder in Tabelle 3.
Wie kann ich die Felder in Tabelle 3 nun aktualisieren und wenn in Tabelle 1 / 2 ein neuer Kunde ist, diesen in Tabelle 3 hinzufügen?
Habe folgenden SQL Befehl gefunden, habe aber keine Primärschlüssel der übereinstimmt.
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
Gib es vielleicht Tools?
Hoffe auf eure Hilfe.
Gruß
|