0

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

pid 是项目表的主键

eid 是员工表的主键

一个项目不得分配给任何员工。类似地,员工手中可能没有任何项目。

如何编写此查询?eid 应取值为 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)
);
4

1 回答 1

0

给这种方式:

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

而不是使用相同的eid两次。它在文档中进行了解释。

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

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

根据文档,您编写的任何查询都是正确的。

于 2012-09-13T09:27:03.313 回答