错误 1452:无法在 MySQL 中添加或更新子行

问题描述

我有表医生和部门。医生和科室的M:1关系意味着医生可以在一个科室工作,而科室可以有多个医生。因此,在医生表中引用了部门。具体的医生也是科室主任。因此,在 deprartment 中引用了医生的 emp_no(医生从超类员工中继承了 emp_no)。

Here are the tables

我有这个部门的插入语句。

INSERT INTO department (dept_name,Doctor_emp_no) 
VALUES ('Cardiology',(SELECT emp_no 
                      FROM employee WHERE 
                     specialty = 'Interventional Cardiologist' 
                     AND f_name = 'Oliver' and l_name = 'Adams'));

然而,它给了我

错误代码:1452。无法添加或更新子行:外键约束失败 (hsp.doctor,CONSTRAINT fk_Doctor_department1 FOREIGN KEY (department_dept_no) REFERENCES department (dept_no))

我假设即使医生将 emp_no 作为主键,插入也是不可能的,因为我在医生表中没有记录。但是我需要在部门中插入数据才能在医生表中插入数据。

在这种情况下我该怎么办?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)