Erreur Impossible de créer une table : Dépannage "Code d'erreur : 1005. Impossible de créer la table '...""
Ceci Une erreur dans MySQL se produit lorsqu'une tentative est faite pour créer une table mais rencontre un problème, indiqué par le code d'erreur 1005. Le problème spécifique concerne la clé étrangère référencement.
Causes potentielles :
-
Champs clés incompatibles : Assurez-vous que le type et la taille du champ de clé primaire dans le champ référencé La table correspond exactement à celle du champ de clé étrangère. Vérifiez les différences de taille (par exemple, INT vs. BIGINT) ou de statut signé/non signé.
-
Index manquant ou clé non primaire : Créez un index sur le champ de clé référencé si ce n'est pas le cas. Je n'en ai pas ou ce n'est pas une clé primaire.
-
Nom de la clé étrangère en double : Vérifiez que le nom de la clé étrangère est unique dans la base de données. Ajoutez des caractères aléatoires à la fin du nom de la clé pour tester cela.
-
Type de table non-InnoDB : Les relations de clé étrangère nécessitent que les deux tables soient du type InnoDB. Convertissez les tables MyISAM en InnoDB.
-
Conflit de contrainte NULL : Assurez-vous que le champ clé référencé n'a pas de contrainte NOT NULL lors de l'utilisation de la cascade ON DELETE SET NULL. Autorisez les valeurs NULL si nécessaire.
-
Incompatibilité de jeu de caractères/collation : Vérifiez que les deux tables et leurs colonnes clés utilisent le même jeu de caractères et les mêmes paramètres de classement.
-
Par défaut Valeur sur la clé étrangère : Supprimez toute valeur par défaut définie sur la colonne de clé étrangère, car cela peut interférer avec référencement.
-
Clé composite sans index individuel : Créez un index distinct pour chaque champ de clé utilisé dans une clé composite, même s'il est déjà indexé dans le cadre du composite.
-
Syntaxe incorrecte ou noms de champs mal typés : Vérifiez la syntaxe de votre instruction ALTER et recherchez les fautes de frappe dans les noms de champs impliqués dans le relation.
-
La longueur du nom de clé étrangère dépasse la limite : Le nom de clé étrangère doit être compris dans la limite de 64 caractères.
Pour plus de détails et des solutions potentielles, reportez-vous à la documentation MySQL : Erreur MySQL numéro 1005 Impossible de créer une table.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!