我在mySql中有一个自引用表,这是一个由经理和员工组成的表。
CREATE TABLE `employee` (
`employee_id` BIGINT(10) NOT NULL AUTO_INCREMENT,
`firstname` VARCHAR(50) NULL DEFAULT NULL,
`lastname` VARCHAR(50) NULL DEFAULT NULL,
`manager_id` BIGINT(20) NULL DEFAULT NULL,
PRIMARY KEY (`employee_id`),
CONSTRAINT `FK_MANAGER` FOREIGN KEY (`manager_id`) REFERENCES `employee` (`employee_id`)
)
我想知道记录是否引用自己是否符合概念。我解释得更好:一些员工与某个经理有关系,所以例如员工3,5,7与经理1有关系,但我想创建一个列表来显示与经理1和经理1相关的所有记录。所以我试图让经理1与自己有关系,所以经理1指的是经理1.
我没有错误,但想知道这是否是实现这种关系的正确方法,或者我将来是否会遇到问题。
由于
答案 0 :(得分:0)
在我看来,这不是最佳解决方案,因为:
我自己会使用此查询
SELECT * FROM employee WHERE employee_id=1
UNION
SELECT * FROM employee WHERE manager_id=1