2016-03-26 8 views
0

i 3 Tabellen
emp_ref_table mit Feldern
1.emp_id (pk, ai)
2.emp_name
3.gender
4.emp_address, wie Werte in mehreren Tabellen eingeben gleiche ID verwenden

emp_login_table
1.id (ai, pk)
2.emp_id (fk)
3. Kennwort (Standard: Passwort)

emp_value_table
1.emp_value_id (pk)
2.emp_id (fk)
3.emp_photo
4.emp_resume

Ich habe Werte in allen einfügen 3 Tische zur gleichen Zeit. erste Angenommen , legen i Wert in emp_ref_table die emp_id automatisch
nach Erzeugung emp_id erzeugt werden i das letzte emp_id in login_table auch speichern haben
nach dem Login-Tabelle gleichen emp_id auch in emp_value_table eingefügt werden müssen,

ich dies und seine versucht haben, arbeiten gut, erhalten jetzt auf emp_value_table absolut in Ordnung jetzt mir zu arbeiten beide Abfragen stecken helfen, die emp_id in emp_value_table

in Speichern
insert into emp_ref_table(emp_name,gender,emp_address) values ('xyz','d','abc'); 
insert into `login_table`(emp_id) values(LAST_INSERT_ID()); 

PS: Ich bin mit Stored Procedures

+0

Sie können einen Trigger erstellen, also wenn Sie in eine Tabelle einfügen, fügt es auch in andere ein. – kunicmarko20

Antwort

1

In Ihrer gespeicherten Prozedur deklariert eine Variable, die den neuen Mitarbeiter-ID halten wird. Nachdem Sie einen Datensatz in die Mitarbeiterreferenztabelle eingefügt haben, weisen Sie der Variablen die neue ID zu. Verwenden Sie diese Variable, um den ID-Feldern der Mitarbeiter in den nachfolgenden zwei Einträgen einen Wert zuzuweisen.

... 
declare empid int; 
insert into emp_ref_table(emp_name,gender,emp_address) values ('xyz','d','abc'); 
set empid=last_insert_id(); 
insert into `login_table`(emp_id) values(empid); 
... 
Verwandte Themen