본문 바로가기

DB

[MySQL] Error Code : 1452 foreign key error #1452

개인 프로젝트 중 발생한 오류, 내용은 다음과 같았다.

Cannot add or update a child row (a foreign key constraint fails)

 

외래 키(Foreign Key) 필드에 값을 삽입하거나 수정하려 할 때, 외래 키가 참조하는 주 키(Primary Key)에서 사용하는 값 이외의 값이 들어가면 이 에러를 반환한다.

이 때는 주 키에 속한 값으로 외래 키를 수정하거나 삽입해야 한다

 

User Table Board Table
Id BIGINT(PK) Id BIGIN(PK)
UserName NVARCHAR(100) User_Id BIGINT(FK)
    Content NVARCHAR(100)

나의 경우는 테이블 구성이 위처럼 되어있다면

User 테이블에 Id가 1인 데이터만 존재하는데 Board 테이블에 User_id를 2로 넣으려고 할 때 발생하였다.

나의 해결 방법은 Spring Boot에서 User Model에 @OneToMany(mappedBy = "user", cascade = CascadeType.ALL

cascadeType.ALL을 설정 해주었다.

 

아래 링크는 동일한 에러에 대한 다양한 처리한 케이스이다.

https://stackoverflow.com/questions/5198600/mysql-foreign-key-error-1452

 

 

 

'DB' 카테고리의 다른 글

[DB] H2 Database  (0) 2021.07.23
DB 에러 (ORA-12505 에러)  (0) 2017.06.03