🐢🐢꼬부기 LV.2 | 실습•에러/🛡️껍질에 숨기(에러해결)

ORA-02291 : 부모키를 찾을수 없습니다 에러해결

서화 2025. 12. 12. 22:38

리뷰테이블에서 INSERT 실행하다가  ORA-02291: integrity constraint (KEVIN.FK_ITEM_REVIEW) violated - parent key not found 에러가 생겼다

🔎 원인 분석

이 에러는 리뷰테이블에 데이터를 넣을려고 하는데 FK로 참조한 ITEM 값이 ITEM테이블에 존재하지 않는다는 뜻이다

즉 이미 ITEM 테이블은 있는데  INSERT에 사용한 ITEM_PK 값이 ITEM 테이블에 실제로 없다

따라서 원인을 3가지 정도로 찾아볼수있다

1. ITEM 테이블에서 데이터를 넣을 때 시퀀스를 썼는데 리뷰인서트에서 이미 생긴 시퀀스가 아니고

아예없는 번호를 넣었을때

2.ITEM테이블 자체가 없을때

3.다른계정이거나/다른 스키마로 착각했을때

예시) item은 a계정 리뷰는 b계정

🛠️ 해결방법

-- 1. ITEM 테이블에 데이터가 있는지
SELECT ITEM_PK FROM ITEM;

-- 2. 내가 리뷰에 넣으려는 ITEM_PK 값이 존재하는지
SELECT * FROM ITEM WHERE ITEM_PK = 1;

위의 방법으로 확인해볼수 있는데 나는 리뷰테이블 인서트 하기전에 아이템 테이블을 만들었기 때문에 내가 리뷰에 넣으려는 아이템 PK값이 존재하는지 확인하면 된다 여기서 SELECT가 0이면 아이템pk가 없는것이다

따라서 아이템테이블에서 샘플울 추가해주고 다시 인서트를 실행해주면 해결된다

아이템 샘플 넣기
INSERT INTO ITEM(
	ITEM_PK,ITEM_NAME
)VALUES('1','전구'
);
리뷰작성
INSERT INTO REVIEW (REVIEW_PK,ACCOUNT_PK,ITEM_PK,REVIEW_TITLE,
	REVIEW_CONTENT,REVIEW_STAR
) VALUES(
	REVIEW_SEQ.NEXTVAL, '2','1','리뷰제목','리뷰내용','5'
);