✔스프링부트로 레포지토리 테스트 중 아래와 같은 에러가 발생했다.
SQL Error: 1452, SQLState: 23000 에러발생
(1452): Cannot add or update a child row: a foreign key constraint fails
📌1452에러
참조테이블에 없는 값을 추가해서 발생한 오류
참조 무결성에 따라서 부모키에 해당하는 값만 넣을 수 있음.
📌해결방법
참조하는 테이블에 데이터를 먼저 추가한 후, 참조받는 테이블에 데이터를 추가하니 오류해결.
(외래키로 연결한 값을 동일하게 줘야함)
📗 더 자세한 오류 내용과 이해
MySQL 1452 오류는 “외래 키 제약 조건 실패”를 의미합니다. 이 오류는 부모 테이블의 기본 키와 자식 테이블의 외래 키 간에 일치하지 않는 값이 삽입되거나 업데이트되는 경우에 발생합니다. 이를 해결하기 위해 아래와 같은 간단한 목차를 제공합니다:
- 외래 키 제약 조건 이해하기
- 외래 키란?
- 외래 키 제약 조건이란?
- 외래 키 제약 조건 오류 확인
- MySQL 오류 코드 1452 확인
- 오류 메시지 이해하기
- 외래 키 관련 테이블 확인
- 부모 테이블과 자식 테이블 확인
- 테이블 구조 및 외래 키 제약 조건 검토
- 데이터 일치성 확인
- 부모 테이블과 자식 테이블 간 데이터 일치성 검사
- 일치하지 않는 데이터 식별
- 데이터 수정 및 삽입
- 데이터 수정하여 일치성 확보
- 새로운 데이터 삽입 시 외래 키 제약 조건 고려
- 외래 키 제약 조건 관리
- 외래 키 제약 조건 삭제 또는 변경
- 외래 키 인덱스 관리 방법
- 트랜잭션 활용
- 트랜잭션 개념 이해
- 트랜잭션을 사용하여 데이터 일관성 유지
- 오류 로그 및 디버깅
- MySQL 오류 로그 확인
- 디버깅 도구와 기법 활용
- 예외 처리 및 오류 방지
- 애플리케이션 수준에서 예외 처리
- 데이터 유효성 검증 방안
————📢더 많은 주식 코인 퀀트 정보 : https://quantpro.co.kr/————