当父键存在时,为什么我会收到完整性约束未找到父键

问题描述

我的 people 表中有一个父记录,但是当我尝试在我的员工表中插入匹配的记录时,我收到了完整性约束错误。谁能解释一下哪里出了问题?

People Table Structure

Employee Table Structure

Attempted Insert Into Employees

Foreign Key Creation

解决方法

啊!根据您的评论:

我添加了一张外键的图片,personID 存在于员工表和客户表中,并引用了人表

看来你错了。

Oracle 不检查约束是否存在,而是检查数据(支持这些约束)是否存在。换句话说,首先您必须在父表中插入一行,然后再插入其子表(其值“引用”父表中的主键值)。

你发布它的方式,你插入到没有父母的孩子中。

,

从提供的图像中,我只能猜测您正在尝试将记录插入到父表“People”中不存在的“PersonId”的“Employee”表中

如果不是这样,您能否向我们展示包括外键在内的整个表设计?