개인 프로젝트 중 발생한 오류, 내용은 다음과 같았다.
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 |