본문으로 이동
SQL/데이터베이스 에러에러
23503

23503 — 외래 키 제약 위반

INSERT 또는 UPDATE가 외래 키 제약을 위반했습니다.

postgresql

이 에러의 원인

부모 테이블에 참조하는 행이 존재하지 않거나, 자식 행이 여전히 참조하는 부모 행을 삭제하려 했습니다.

수정 방법

삽입 전 참조 레코드가 존재하는지 확인하세요. ON DELETE CASCADE 또는 SET NULL을 사용하세요. 자식 레코드보다 부모 레코드를 먼저 삽입하세요.

예제

-- foreign_key_violation
INSERT INTO orders (user_id) VALUES (99999);
-- user_id 99999 does not exist in users table
공식 문서

관련 에러 코드