programing

테이블을 삭제할 수 없습니다.외부 키 제약에 실패했습니다.

goodjava 2022. 11. 5. 17:47

테이블을 삭제할 수 없습니다.외부 키 제약에 실패했습니다.

MySQL my my my my my 。
가지 이 '가 나오네요.bericht떨어뜨릴 수 없어요.하다

#1217 - 부모 행을 삭제 또는 업데이트할 수 없음: 외부 키 제약에 실패함

이 테이블은 어떻게 떨어뜨려요?

이렇게 하면 효과가 있습니다.

SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;

다른 사람들이 지적하듯이, 이것은 질문에서 질문한 것이긴 하지만, 여러분이 원하는 것은 거의 아닙니다.은 '하다'에 입니다.berichtberichtCloudMarble 답답marble 。데이터베이스 자체를 삭제하거나 다시 작성할 수 없거나 삭제할 수 없는 경우 데이터베이스 내의 모든 테이블을 드롭하기 위해 bash 및 게시물의 메서드를 사용합니다.

#1217삭제하려는 테이블에 대해 다른 테이블에 외부 키 제약이 있고 InnoDB 데이터베이스 엔진을 사용하는 경우 오류가 발생합니다.이 솔루션은 구속 장치 검사를 일시적으로 비활성화한 후 다시 활성화합니다.상세한 것에 대하여는, 메뉴얼을 참조해 주세요.외부 키 제한 및 테이블의 필드를 삭제해야 합니다.bericht그렇지 않으면 데이터베이스가 파손된 상태로 남을 수 있습니다.

이것을 시험해 보세요.

SELECT * 
FROM information_schema.KEY_COLUMN_USAGE 
WHERE REFERENCED_TABLE_NAME = 'YourTable';

이렇게 하면 삭제할 테이블에 대한 참조가 있는 테이블, 이러한 참조를 삭제한 후 테이블 내의 참조 데이터셋을 삭제할 수 있는 데이터셋이 제공됩니다.

그러나 MySQL FORNE_KEY_CHECKS 변수에서는 DROP TABLE 문의 순서를 전혀 걱정할 필요가 없으며, 원하는 순서로 쓸 수 있습니다(정 반대도 마찬가지).

SET FOREIGN_KEY_CHECKS = 0;
drop table if exists customers;
drop table if exists orders;
drop table if exists order_details;
SET FOREIGN_KEY_CHECKS = 1;

자세한 내용은 다음 링크를 참조하십시오.

http://alvinalexander.com/blog/post/mysql/drop-mysql-tables-in-any-order-foreign-keys/

show create table tbl_name 키를

다음 구문을 사용하여 외부 키를 삭제할 수 있습니다.

ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol

상세한 것에 대하여는, 이쪽도 봐 주세요(Frank Vanderhallen 투고 참조).http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html

이 오류는 다른 스키마에 대한 표와 동일할 수 있습니다.

먼저 하위 행을 드롭한 후 상위 행을 드롭해야 합니다.

이것은 잠시 오래되어 답변이 선택된 것을 알 수 있습니다만, 외부 키를 NULL로 하고 나서 ON DELETE SET NULL을 선택하는 대체 방법은 어떻습니까?

기본적으로 테이블은 다음과 같이 변경해야 합니다.

ALTER TABLE 'bericht' DROP FOREIGN KEY 'your_foreign_key';

ALTER TABLE 'bericht' ADD CONSTRAINT 'your_foreign_key' FOREIGN KEY ('column_foreign_key') REFERENCES 'other_table' ('column_parent_key') ON UPDATE CASCADE ON DELETE SET NULL;

개인적으로는 불필요한 문제를 피하기 위해 "ON UPDATE CASCADE"와 "ON DELETE SET NULL"을 모두 사용할 것을 권장합니다.다만, 셋업에 의해서 다른 어프로치가 지시되는 경우가 있습니다.

이게 도움이 됐으면 좋겠다.

언급URL : https://stackoverflow.com/questions/11100911/cant-drop-table-a-foreign-key-constraint-fails