2016-04-11 1 views
0

Ich bin neu in der DB, das muss sehr einfach sein. Grundsätzlich habe ich 2 Tabellen, zB Kunden und Adressen. Immer wenn ein neuer Kunde erstellt wird (diese Tabelle hat eine PK, die eine ID ist), möchte ich, dass dieselbe ID in der anderen Tabelle erstellt wird.Immer wenn ein Datensatz in einer Tabelle erstellt wird, möchte ich einen Datensatz mit der gleichen PK in einem anderen erstellt werden

Ich habe bereits eine FK in der Adressentabelle erstellt, aber ich habe keine Ahnung, wie die DB so konfiguriert wird, dass ein Datensatz automatisch erstellt wird. Kann die DB-Engine dies tun oder sollte dies auf dem Client-Programm getan werden?

+0

Dies wirft die Frage auf: Warum gibt es zwei Tabellen? Warum nicht einfach in dieselbe Tabelle setzen? –

+0

Sie haben mich zum Nachdenken gebracht ... Ich habe versucht, die DB-Ebene an die UI-Ebene anzupassen. War in der Lage, die Datenanzeigeebene zu reparieren, was viel sinnvoller ist. Vielen Dank. – user342872

+0

@ Nick.McDermaid Dies gibt die Möglichkeit, mindestens ein Detail-Element auf Ihrer Master-Tabelle zu haben, und wenn Sie mehr hinzufügen möchten. Diese Funktionalität ist sehr nützlich für die Dateneingabe und Sie können mehr in weniger Zeit und weniger Aufwand durchführen – llouk

Antwort

2

Ich schlage vor, Sie einen Trigger so verwenden:

CREATE TRIGGER customer_insert AFTER INSERT ON customers 
BEGIN 
INSERT INTO addresses(Customer_ID,AnotherColumnExample) 
     VALUES(NEW.ID,'Stuff for the extra column'); 
END; 
Verwandte Themen