>  Q&A  >  본문

해결 방법: 상위 행을 삭제하거나 업데이트할 수 없음: 외래 키 제약 조건이 위반되었습니까? 해결 방법

전화번호를 기준으로 사용자를 삭제하고 싶어요. 그래서 해당 특정 사용자를 삭제하는 사용자 지정 쿼리를 만들었습니다. 그런데 외래키를 삭제하거나 업데이트할 수 없다는 오류가 발생했습니다. 아래는 내 사용자 엔터티입니다. 다음은 사용자를 삭제하려는 사용자 정의 쿼리입니다.

으아악

Modified와 Creator는 외래 키 역할을 합니다. 그렇다면 셀프 조인 테이블과 다대일 관계에 있는 외래 키를 어떻게 삭제해야 할까요?

P粉458913655P粉458913655207일 전554

모든 응답(1)나는 대답할 것이다

  • P粉071743732

    P粉0717437322024-03-26 17:04:28

    뭔가 User 테이블을 참조하기 위해 외래 키를 사용하고 있습니다. 전체 스택 추적은 아마도 그것이 어떤 테이블인지 또는 어떤 제약 조건인지 알려줄 것이며 거기에서 테이블을 찾을 수 있을 것입니다.

    문제를 일으키는 외래 키를 식별한 후에는 다음과 같은 옵션이 있습니다.

    • 삭제하려는 사용자를 참조하는 줄을 삭제하세요.
    • 삭제하려는 사용자를 참조하는 행을 업데이트하여 해당 사용자를 더 이상 참조하지 않도록 하세요.
    • 해당 외래 키가 없도록 스키마를 변경하세요. 대부분의 경우 데이터베이스에 매달린 포인터가 남게 되므로 이는 좋은 생각이 아닙니다. 그러나 이 접근 방식에는 몇 가지 사용 사례가 있습니다.
    • 외래 키의 계단식 동작을 변경합니다.

    회신하다
    0
  • 취소회신하다