Consulte el manual de MySQL sobre restricciones de clave externa :
Algunas ideas:
- Mejor descartar las tablas y crearlas nuevas con una sintaxis bien formada.
- Asegúrese de agregar
ENGINE=InnoDB;
a tuCREATE TABLE
- comando. - Asegúrese de que InnoDB esté habilitado en su servidor MySQL. Para verificar esto, prueba este comando:
SHOW VARIABLES LIKE 'have_innodb';
- si devuelve un SÍ, entonces InnoDB está habilitado. - Revise su comando para mayúsculas y minúsculas en nombres de tablas y campos.
- Verifique esto no solo en la tabla que desea crear, sino también en las tablas a las que se refieren las claves externas.
- Asegúrese de que sus tablas referidas estén correctamente indexadas.