mysql 에러해결 : SQL Error: 1452, SQLState: 23000 에러발생

✔스프링부트로 레포지토리 테스트 중 아래와 같은 에러가 발생했다.

SQL Error: 1452, SQLState: 23000  에러발생
(1452): Cannot add or update a child row: a foreign key constraint fails

📌1452에러

참조테이블에 없는 값을 추가해서 발생한 오류
참조 무결성에 따라서 부모키에 해당하는 값만 넣을 수 있음.

📌해결방법

참조하는 테이블에 데이터를 먼저 추가한 후, 참조받는 테이블에 데이터를 추가하니 오류해결.
(외래키로 연결한 값을 동일하게 줘야함) 

📗 더 자세한 오류 내용과 이해

MySQL 1452 오류는 “외래 키 제약 조건 실패”를 의미합니다. 이 오류는 부모 테이블의 기본 키와 자식 테이블의 외래 키 간에 일치하지 않는 값이 삽입되거나 업데이트되는 경우에 발생합니다. 이를 해결하기 위해 아래와 같은 간단한 목차를 제공합니다:

  1. 외래 키 제약 조건 이해하기
    • 외래 키란?
    • 외래 키 제약 조건이란?

  2. 외래 키 제약 조건 오류 확인
    • MySQL 오류 코드 1452 확인
    • 오류 메시지 이해하기

  3. 외래 키 관련 테이블 확인
    • 부모 테이블과 자식 테이블 확인
    • 테이블 구조 및 외래 키 제약 조건 검토

  4. 데이터 일치성 확인
    • 부모 테이블과 자식 테이블 간 데이터 일치성 검사
    • 일치하지 않는 데이터 식별

  5. 데이터 수정 및 삽입
    • 데이터 수정하여 일치성 확보
    • 새로운 데이터 삽입 시 외래 키 제약 조건 고려

  6. 외래 키 제약 조건 관리
    • 외래 키 제약 조건 삭제 또는 변경
    • 외래 키 인덱스 관리 방법

  7. 트랜잭션 활용
    • 트랜잭션 개념 이해
    • 트랜잭션을 사용하여 데이터 일관성 유지

  8. 오류 로그 및 디버깅
    • MySQL 오류 로그 확인
    • 디버깅 도구와 기법 활용

  9. 예외 처리 및 오류 방지
    • 애플리케이션 수준에서 예외 처리
    • 데이터 유효성 검증 방안


————📢더 많은 주식 코인 퀀트 정보 : https://quantpro.co.kr/————

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다