用外键查询

时间:2012-09-13 09:25:07

标签: mysql

项目分配是n到n的关系,其中n可以为零。

pid是项目表的主键

eid是员工表的主键

项目可能不会分配给任何员工。员工可能手中没有任何项目。

如何编写此查询? eid应该将value作为null或emp表中的值。 pid应该取null或表项目中的值。

是否正确。

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

1 个答案:

答案 0 :(得分:0)

这样:

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

而不是两次使用相同的eid。它在documentation中解释。

此外,在创建此表之前,原始父表应该在那里,您需要以这种方式手动插入查询:

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

根据documentation,您所写的任何查询都是正确的。