2016-09-22 338 views
-1

を見つけていない。これは、私が値を挿入しようとしているテーブルです:SQLエラー:ORA-02291:整合性制約、親キーが

CREATE TABLE SESSIONS(
SESSIONID CHAR(4) NOT NULL, 
BRANCHID CHAR(2) NOT NULL, 
SCREENID CHAR(2) NOT NULL, 
MOVIEID CHAR(2) NOT NULL, 
SESSIONDATE DATE, 
SESSIONPRICE NUMBER(4,2), 
CONSTRAINT SESSIONS_PK PRIMARY KEY(SESSIONID, BRANCHID, SCREENID, MOVIEID), 
CONSTRAINT SESSIONS_FK1 FOREIGN KEY(SCREENID, BRANCHID) REFERENCES SCREEN(SCREENID, BRANCHID), 
CONSTRAINT SESSIONS_FK2 FOREIGN KEY(MOVIEID) REFERENCES MOVIE(MOVIEID)); 

とテーブルを取り込むときに私が言うエラーが出ます原因は、外部キー値に一致するプライマリキー値がないことです。私は1つを除くすべての行を挿入することができました。なぜこのエラーが出るのか分かりません。

INSERT INTO SESSIONS VALUES ('SS01', 'B1', 'S1', 'M1', '3-May-16', 12.50); 
INSERT INTO SESSIONS VALUES ('SS02', 'B2', 'S1', 'M2', '4-Jun-16', 19.45); // Line where the error occurs 
INSERT INTO SESSIONS VALUES ('SS03', 'B1', 'S2', 'M2', '3-May-16', 12.67); 
INSERT INTO SESSIONS VALUES ('SS04', 'B4', 'S2', 'M4', '13-May-16', 14.56); 
INSERT INTO SESSIONS VALUES ('SS05', 'B3', 'S2', 'M5', '23-May-16', 14.56); 
INSERT INTO SESSIONS VALUES ('SS06', 'B3', 'S1', 'M5', '3-Jun-16', 16.32); 
INSERT INTO SESSIONS VALUES ('SS07', 'B4', 'S2', 'M3', '14-May-16', 21.78); 
INSERT INTO SESSIONS VALUES ('SS08', 'B1', 'S2', 'M2', '6-Jun-16', 16.82); 
INSERT INTO SESSIONS VALUES ('SS09', 'B2', 'S3', 'M4', '13-May-16', 17.90); 
INSERT INTO SESSIONS VALUES ('SS10', 'B4', 'S1', 'M3', '6-Jun-16', 16.37); 
+0

外部キーのいずれかに一致する行がありません。これらのテーブルのデータが指定されていないため、どのテーブルを表示できないのですか。 – jarlh

+0

親テーブルに 'B2' - 'S1'というペアが存在しないので、 – hinotf

答えて

0

このクエリを実行している、

INSERT INTO SESSIONS VALUES ('SS02', 'B2', 'S1', 'M2', '4-Jun-16', 19.45); 

は、次にテーブル内のMOVIEID存在することをMOVIE表でご確認ください。 もう一度SCREEN(SCREENID, BRANCHID)で確認してください。

同じデータが参照先テーブルに存在しない場合、このエラーが発生します。

希望すると助かります。

0

MOVIEおよびSCREENテーブルにデータが入力され、 'M2'または 'S1'の値が入力されていることを確認してください。

関連する問題