DBAtlas · Atlas de operações de banco de dados

3730: Cannot drop table referenced by a foreign key constraint

MySQL

O que significa?

A tabela não pode ser removida porque a foreign key de outra tabela a referencia. Enquanto a referência existir, o DROP fica bloqueado.

Por que acontece?

Tentativa de remover uma tabela pai enquanto ainda existem tabelas filhas ligadas a ela por uma FK; desrespeito à ordem de dependência; não remover as foreign keys antes.

Como resolver

Primeiro remova a foreign key que faz a referência: ALTER TABLE child_table DROP FOREIGN KEY fk_name; e então remova a tabela. Encontre as tabelas/constraints dependentes: SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; Em operações em massa, SET FOREIGN_KEY_CHECKS = 0; pode ser usado temporariamente, mas tenha cuidado e volte para 1 em seguida.

Abrir no DBAtlas →

Mais entradas deste banco