MySQL Forums
Forum List  »  German

Insert Update
Posted by: Peter Müller
Date: September 22, 2009 03:37AM

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ß

Options: ReplyQuote


Subject
Views
Written By
Posted
Insert Update
4364
September 22, 2009 03:37AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.