>  기사  >  백엔드 개발  >  Gorm: 하위 행을 추가하거나 업데이트할 수 없습니다. 자체 참조 시 외래 키 제약 조건이 실패합니다.

Gorm: 하위 행을 추가하거나 업데이트할 수 없습니다. 자체 참조 시 외래 키 제약 조건이 실패합니다.

王林
王林앞으로
2024-02-09 09:18:101060검색

Gorm:无法添加或更新子行 - 外键约束在自引用时失败

개발 프로세스 중에 PHP 편집기 Xinyi에 "하위 행을 추가하거나 업데이트할 수 없습니다. 자체 참조에서 외래 키 제약 조건이 실패했습니다." 오류가 발생하는 경우가 있습니다. 이 오류는 일반적으로 테이블의 다른 필드를 참조하는 테이블의 필드와 같이 데이터베이스에 자체 참조가 있을 때 발생합니다. 이 경우 외래 키 제약 조건이 올바르게 구성되지 않으면 하위 행을 추가하거나 업데이트할 수 없다는 오류가 발생합니다. 다음으로 이 문제를 해결하기 위한 몇 가지 방법을 소개하겠습니다.

질문 내용

다음과 같은 구조를 가지고 있습니다:

으아악

category 자체에는 category유형에서 파생된 parentcategory가 있을 수 있습니다. 그래서 그것은 그 자체를 참조합니다. 첫 번째 카테고리인 경우 상위 카테고리가 없습니다.

위에서 언급한 대로 4개 범주로 구성된 배열이 있는데 첫 번째 범주에는 ab 상위 범주가 없습니다.

이 카테고리를 차례로 저장할 때(부모 카테고리 없이 첫 번째 카테고리부터 시작하면 다음 오류가 발생합니다(여기서 처음 두 개만 인쇄하세요).

으아악

여기서 무엇을 해야 할지 정말 모르겠어요. 누구든지 이 문제를 해결하도록 도와줄 수 있나요?

해결 방법

귀하의 요구 사항을 관리하려면 다음 코드를 사용해야 합니다.

으아악

귀하의 요구 사항을 이해했다면 자체 참조하는 테이블이 필요합니다. 그래서 카테고리에 상위 항목이 없으면 category 结构。每个类别都有自己的 parentcategoryid 이렇게 정의했습니다. 이전 코드를 실행하려고 하면 다음과 같은 결과가 나타납니다.

으아악

귀하의 질문에서 뭔가를 얻지 못했을 수도 있습니다. 그렇다면 알려주시면 답변을 업데이트하겠습니다. 감사합니다!

위 내용은 Gorm: 하위 행을 추가하거나 업데이트할 수 없습니다. 자체 참조 시 외래 키 제약 조건이 실패합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제