Re: ERROR 1005 (HY000): No puedo crear tabla ... (Error: 150)
Hola Adán
Es un claro ejemplo de problemas con claves foraneas.
Algo que te pudo haber ayudando desde un principio es lo siguiente:
Muchas veces Mysql arroja un código de error y no sabemos exactamente que significa. Pues al instalar Mysql-server en un sistema operativo, el mismo, habilita una aplicación que permite conocer estos códigos... Para ejecutarla solo debes abrir una cónsola y usar el comando "perror" sin comillas, seguido del código del error.
En este caso sería
perror 150
Y el sistema operativo respondería:
MySQL error code 150: Foreign key constraint is incorrectly formed
Y con esto ya tienes al menos una guía de por donde esta el problema.
___________________________________________________________________________
Adicionalmente existe una forma de poder insertar/eliminar/modificar datos de una tabla sin importar las claves foraneas que posea. Esto obviamente es muy delicado por lo que debes hacer respaldos previamente y trabajar con cuidado.
Simplemente debes agregar la cláusula "SET FOREIGN_KEY_CHECKS=0;" sin comillas al principio del el script y listo!!!
Esto apaga la integridad referencial (relaciones de claves foraneas) momentaneamente (durante la ejecución del script) y te permite mover la data a tu gusto.
Espero que te sirva
___________________________
Ing. Jesús Alfredo Uzcanga
Twitter: @JesusUzcanga
We learn the 20% of what we HEAR,
the 50% of what we SEE,
the 80% of what we DO and
the 95% of what we TEACH.
____________________________________________________________
https://www.linkedin.com/in/jauzcanga/