添加外键错误:ORA-02298:无法验证 - 未找到父键

时间:2017-02-19 02:46:41

标签: oracle

我基本上有2个表,一个名为table1,另一个名为table2。

我想在table2中插入一个外键,并确保它作为父类链接到table1(因为两个表都有相同的列名为:EMPNO)。

这就是我的尝试:

ALTER TABLE table2 
ADD FOREIGN KEY (EMPNO) 
REFERENCES table1(EMPNO)  

但是我在运行它时从我的实时SQL收到错误:

ORA-02298:无法验证(SQL_EOTBMPLTBLKHWFZRYEHITBYIH。) - 未找到父键

2 个答案:

答案 0 :(得分:9)

此错误表示table2具有父表table1中不存在的外键值。要识别它们,请运行如下查询:

SELECT DISTINCT EMPNO FROM table2 WHERE EMPNO NOT IN (
    SELECT EMPNO FROM table1)

修复这些错误的键值,然后再次运行ALTER TABLE

答案 1 :(得分:0)

在这两个列中,数据值应该匹配,或者其中任何一个都具有 G 的所有值,否则它会起作用。