2012-09-13 81 views
0

項目分配是n到n的關係,其中n可以是零。用外鍵查詢

PID是項目表的主鍵

EID是employee表

一個項目不得分配給任何employee.similary僱員可能沒有在他手中的任何項目的主鍵。

如何編寫此查詢? eid應該將值作爲null或emp表中的值。 pid應該從表項目中取零或值。

是否正確。

CREATE TABLE Proj_Assign 
(
eid VARCHAR(25), 
pid VARCHAR(25), 
PRIMARY KEY(eid,pid), 
FOREIGN KEY eid REFERENCES employee(eid), 
FOREIGN KEY pid REFERENCES project(pid) 
); 
+0

你想讓我們做什麼?檢查你的表模式或爲你的員工創建一個查詢給經理? –

回答

0

給這樣的:使用相同eid兩次

FOREIGN KEY (t_eid) REFERENCES parent(eid) 
    ON DELETE CASCADE 

相反。這是在documentation解釋。

INSERT INTO `Proj_Assign` (`eid`, `pid`) VALUES (1, 1); 

無論查詢你寫的是正確的按documentation

此外,您創建此表,你需要手動插入查詢這樣之前的原始父表應該在那裏。