2016-03-26 42 views
0

輸入在多個表中值I有3個表
emp_ref_table與字段
1.emp_id(PK,AI)
2.emp_name
3.gender
4.emp_address如何使用相同的id

emp_login_table
1.id(AI,PK)
2.emp_id(FK)
3。密碼(默認:密碼)

emp_value_table
1.emp_value_id(PK)
2.emp_id(FK)
3.emp_photo
4.emp_resume

我要插入的所有值3張桌子在同一時間。 第一個假設,我在emp_ref_table插入值中的emp_id將代EMP_ID後自動
生成我必須存儲在login_table
,去年EMP_ID登錄表相同EMP_ID後也有emp_value_table要插入

我已經嘗試這樣做,其做工精細,現在就卡在emp_value_table兩個查詢工作絕對沒問題,現在幫我存儲emp_value_table

中的emp_id
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:我使用存儲過程

+0

你可以做一個觸發器,所以當你插入一個表時,它也會插入到其他表中。 – kunicmarko20

回答

1

在存儲過程聲明一個變量,將舉行新員工的ID。將記錄插入員工參考表後,將新ID分配給變量。使用此變量將值分配給後續2次插入中的員工ID字段。

... 
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); 
...