2017-02-19 616 views
0

私は本質的に2つのテーブル、1つはtable1と呼ばれ、もう1つはtable2と呼ばれています。外部キーの追加エラー:ORA-02298:検証できません - 親キーが見つかりません

テーブル2に外部キーを挿入し、両方のテーブルに同じ列EMPNOがあるので、テーブル1の親としてリンクされていることを確認します。

これは私が試したものです:

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

それを実行しているときしかし、私は私のライブSQLからエラーが表示されます。

ORA-02298:(SQL_EOTBMPLTBLKHWFZRYEHITBYIHを。)を検証することはできません - 親キー

が見つかりません
+0

これは、制約の正しい構文についてはこちらを参照してください。https://www.w3schools.com/sql/sql_foreignkey.asp – user7417866

+0

このエラーは、その意味を意味します。 table2のEMPNO列には、table1の同じ列に存在しない値があります。最初に修正する必要があります。 – mathguy

答えて

2

このエラーは、table2に親テーブルに存在しない外部キー値があることを意味します。table1。それらを識別するために、このようなクエリを実行します。

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

は、これらの不正なキーの値を修正し、再度ごALTER TABLEを実行します。

関連する問題