Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens l'erreur MySQL 1005 : impossible de créer une table ?

Pourquoi est-ce que j'obtiens l'erreur MySQL 1005 : impossible de créer une table ?

Barbara Streisand
Libérer: 2024-12-11 07:55:10
original
890 Les gens l'ont consulté

Why Am I Getting MySQL Error 1005: Can't Create Table?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal