Consultez le manuel MySQL sur les contraintes de clé étrangère :
Quelques idées :
- Mieux vaut supprimer les tables et en créer de nouvelles avec une syntaxe bien formée.
- Assurez-vous d'ajouter
ENGINE=InnoDB;
à votreCREATE TABLE
- commande. - Assurez-vous qu'InnoDB est activé sur votre serveur MySQL. Pour vérifier cela, essayez cette commande :
SHOW VARIABLES LIKE 'have_innodb';
- s'il renvoie un OUI, alors InnoDB est activé. - Vérifiez votre commande pour les majuscules et les minuscules dans les noms de table et de champ.
- Cochez ceci non seulement sur la table que vous souhaitez créer, mais également sur les tables auxquelles les clés étrangères font référence.
- Assurez-vous que vos tables référencées sont correctement indexées.