同桌中的关系

时间:2014-02-18 21:00:53

标签: mysql one-to-many relationships

我试图制作2"一对多"在同一张桌子上的关系,因为我有由SPV监督的TL管理的员工。

员工表由( ID -PK-,name,hire_date ,,,,,)组成,它与TL和SPV的数据相同

在ERD上我已经在同一张桌子上做了一对多,但是我不知道如何在SQL上做到这一点(我无法检测到什么应该引用谁)

我已经考虑放弃一对多关系的想法并添加一个&#34;类型&#34;如果员工为1,如果是TL,则为2,如果是SPV,则为3,但我需要知道每个TL的员工(TL#1有员工John,Paul,Smith,......在他的团队中)等等< / p>

**注意:我不确定将它作为一对多的关系是否正确,如果有其他任何方式我真的很感激它:)

1 个答案:

答案 0 :(得分:0)

SQL?只需将相同的表放在REFERENCES子句中。

如果你不能这样做,可以在一个单独的SQL语句中进行。

CREATE TABLE EMPLOYEE (
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    spv INTEGER UNSIGNED NULL,
    ...,
    PRIMARY KEY(id)
);

ALTER TABLE employee ADD FOREIGN KEY ( spv ) REFERENCES employee (id) ON DELETE RESTRICT ON UPDATE CASCADE