Contexto: Base de datos MySQL InnoDB.
Significado: Error al querer borrar una tabla que existe una foreign key que lo referencia.
Situación: En ocasiones deseamos modificar/eliminar unos registros/tabla y no podemos porque nos dice que existe otro registro que lo enlaza. En palabras más técnicas: SQL Error (1701): Cannot truncate a table referenced in a foreign key constraint
Solución: Eliminamos todos los registros en el orden de las tablas correcto (primero las hojas y por último la raiz) o atajamos desactivando el control de foreign keys.
Aquí muestro la segunda opción. Pon a 0 (inhabilita) y a 1 (habilita) entre el código de MySQL el siguiente flag:
SET FOREIGN_KEY_CHECKS = 0; [mi codigo] SET FOREIGN_KEY_CHECKS = 1;
Aunque no es muy recomendable utilizar estos flags, me han sido de utilidad en numerosas ocasiones. Siempre hay que utilizarlos con cabeza y no abusar de ellos.
Ahora ya puedes borrar las tablas a cascoporro.
Comparte, comenta y colabora. Juntos haremos un mundo mejor.