DBAtlas · Atlas de operaciones de bases de datos

3730: Cannot drop table referenced by a foreign key constraint (no se puede eliminar una tabla referenciada por una clave foránea)

MySQL

¿Qué significa?

No se puede eliminar la tabla porque la clave foránea de otra tabla la referencia. Mientras exista la referencia, DROP está bloqueado.

¿Por qué ocurre?

Intentar eliminar una tabla padre mientras aún existen tablas hijas vinculadas a ella por una FK; no respetar el orden de dependencias; no eliminar primero las claves foráneas.

Cómo solucionarlo

Elimine primero la clave foránea que hace referencia: ALTER TABLE child_table DROP FOREIGN KEY fk_name; y luego elimine la tabla. Encuentre las tablas/restricciones dependientes: SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; En operaciones masivas puede usarse temporalmente SET FOREIGN_KEY_CHECKS = 0;, pero tenga cuidado y vuelva a ponerlo en 1 después.

Abrir en DBAtlas →

Más entradas de este motor