>  기사  >  데이터 베이스  >  테이블을 삭제할 때 "Bogus Foreign Key Constraint Fail" 오류가 발생하는 이유는 무엇입니까?

테이블을 삭제할 때 "Bogus Foreign Key Constraint Fail" 오류가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-05 22:33:02655검색

Why Does

"가짜 외래 키 제약 조건 실패" 설명 및 해결

라인 40에서 "ERROR 1217(23000)) 오류 메시지가 표시되는 경우: Cannot 테이블을 삭제하려고 시도하는 동안 상위 행 삭제 또는 업데이트: 외래 키 제약 조건이 실패합니다.'라는 오류가 발생하면 근본 원인을 이해하는 것이 중요합니다. 문제가 있는 테이블에 대한 외래 키 참조가 있는 다른 모든 테이블을 삭제했는데도 오류가 지속됩니다.

이 시나리오에서는 각 쿼리에 대해 별도의 연결을 사용하는 MySQL 쿼리 브라우저 또는 phpMyAdmin에서 문제가 발생합니다. 이 문제를 해결하려면 모든 삭제 문을 다음과 같이 단일 쿼리로 통합해야 합니다.

SET FOREIGN_KEY_CHECKS=0;
DROP TABLE my_first_table_to_drop;
DROP TABLE my_second_table_to_drop;
SET FOREIGN_KEY_CHECKS=1;

이렇게 하면 외래 키 검사가 일시적으로 비활성화되어 테이블을 성공적으로 삭제할 수 있습니다. 마지막 SET FOREIGN_KEY_CHECKS=1 문은 외래 키 검사를 다시 활성화하여 데이터 무결성을 보장합니다.

InnoDB는 스키마 간 외래 키를 지원하지 않는다는 점에 유의하는 것이 중요합니다. 따라서 현재 데이터베이스 스키마 외부의 외부 참조로 인해 문제가 발생하지 않습니다.

위 내용은 테이블을 삭제할 때 "Bogus Foreign Key Constraint Fail" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.