SQL-找不到父键

时间:2019-04-11 02:15:34

标签: sql oracle

因此,我在表中尝试创建SECTIONINSTRUCTOR之间的外键关系,其中表INSTRUCTOR_ID中的SECTION是指向表INSTRUCTOR中的主键INSTRUCTOR_ID。不幸, 我收到此错误:

parent keys not found
02298. 00000 - "cannot validate (%s.%s) - parent keys not found"
*Cause:    an alter table validating constraint failed because the table has
           child records.
*Action:   Obvious
Vendor code 2298  

对这个问题有什么想法吗?

2 个答案:

答案 0 :(得分:1)

问题在这里似乎很明显,尽管可能并非如此。但是,乍看之下,我认为INSTRUCTOR表中几乎没有SECTION表中的Instructor_ID值,这就是为什么您会收到“找不到父键”的错误的原因。您确定SECTION表中存在的所有Instructor_ID也都在INSTRUCTOR表中存在吗?

答案 1 :(得分:1)

您收到此错误,因为节表中已经有一些数据行。那些行具有讲师表中不存在的讲师ID值。

要在已经有一些数据的表中创建约束,必须确保现有数据针对该约束有效,否则无法创建该约束。

因此,您要么必须删除节表中的所有数据,要么更新节表中的讲师ID值,以使其与讲师表的讲师ID列的任何值匹配。