sql >> Base de Datos >  >> RDS >> Mysql

No se puede eliminar la tabla:falla una restricción de clave externa

Esto debería funcionar:

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

Como otros señalan, esto casi nunca es lo que quiere, aunque es lo que se pregunta en la pregunta. Una solución más segura es eliminar las tablas según bericht antes de eliminar bericht . Consulte la respuesta de CloudyMarble sobre cómo hacerlo. Uso bash y el método en mi publicación para eliminar todas las tablas en una base de datos cuando no quiero o no puedo eliminar y volver a crear la base de datos.

El #1217 El error ocurre cuando otras tablas tienen restricciones de clave externa para la tabla que está tratando de eliminar y está utilizando el motor de base de datos InnoDB. Esta solución deshabilita temporalmente la verificación de las restricciones y luego las vuelve a habilitar. Lea la documentación para más. Asegúrese de eliminar las restricciones de clave externa y los campos en las tablas según bericht , de lo contrario, podría dejar su base de datos en un estado roto.