2016-08-26 85 views
-3
insert into employees(employee_id,e_name,department_id) 
values (5, 'faizi', 6); 

insert into department(loc_id, d_name, department_id) 
values (11, 'bba',6); 

我收到以下错误未找到错误。 departmentId是employees表中的主键和department表中的外键。为什么我得到这个错误?越来越父键在SQL

ORA-02291:完整性约束(SYS.SYS_C003995)违反 - 父键没有找到

+0

查看'employees'表的主键是'employee_id'。当你试图插入'员工'表或'部门'表或两者时,你会遇到错误吗?显示所有表的实际结构。 –

+0

department_id是employees表中的主键。和外键在部门表中。我插入值员工表中,但是当我插入部门表中,然后我得到这个错误 –

+0

显示表的实际结构。在'员工'表中'employee_id'必须是主键。 “部门”表的主要ID不是“department_id”是没有意义的。 “部门”表的主要关键是什么? 'loc_id'? –

回答

2

你的插入顺序是错误的。您需要首先插入部门,然后在该部门中工作的员工

2

对于插入语句,当您尝试插入没有匹配父项的子项时(如由外键定义的),此ORA-02291错误很常见约束。在这种情况下,您需要将父行添加到表中,然后重新插入您的子表行。

+0

我插入匹配值。你可以看到我在两个表中的department_id中插入6。但是当我插入子表中。它会给出错误 –