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.
Más entradas de este motor
- 1093You can't specify target table 'x' for update in FROM clause (no se puede usar la tabla de destino del update en FROM)
- 1305PROCEDURE does not exist (el procedimiento no existe)
- 1227Access denied; you need (at least one of) the PRIVILEGE (acceso denegado; se necesita el privilegio)
- 2013Lost connection to MySQL server during query (se perdió la conexión con el servidor MySQL durante la consulta)
- 1153Got a packet bigger than 'max_allowed_packet' bytes (paquete mayor que max_allowed_packet)
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded) (ejecución de la consulta interrumpida)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed (la conexión fue terminada)