Utilisez show innodb status
- enfouie dans la sortie (autour du milieu) se trouve une section "dernière erreur de clé étrangère". Cela expliquera exactement pourquoi la création de la table a échoué.
généralement, cela est dû à un champ FK de référence qui n'existe pas (faute de frappe, mauvaise table) ou à une incompatibilité de type de champ. Les champs liés à FK doivent correspondre exactement aux définitions. Un champ char(1) ne peut pas être remplacé par un champ char(5), etc...
Remarque :dans MySQL 5.5, la commande pour cela est show engine innodb status
(merci kewpiedoll99)