Maison > base de données > tutoriel mysql > Pourquoi est-ce que j'obtiens le « Code d'erreur : 1005 » lors de l'ajout d'une clé étrangère à ma table MySQL ?

Pourquoi est-ce que j'obtiens le « Code d'erreur : 1005 » lors de l'ajout d'une clé étrangère à ma table MySQL ?

Barbara Streisand
Libérer: 2024-12-10 04:06:49
original
966 Les gens l'ont consulté

Why Am I Getting

Dépannage de l'ajout d'une clé étrangère à la table

Lors de la tentative d'ajout d'une clé étrangère à une table existante nommée "katalog", un message d'erreur peut être rencontré : "Code d'erreur : 1005. Impossible de créer la table 'mytable.#sql-7fb1_7d3a' (errno : 150)."

Causes :

  • Erreur de syntaxe dans l'instruction ALTER TABLE : La syntaxe fournie inclut un référence à la table mytable.#sql-7fb1_7d3a au lieu de catalogue.
  • Référence manquante ou invalide à la table référencée : Assurez-vous que la table référencée (Sprache dans ce cas) existe et possède une colonne correspondante appropriée (ID dans ce cas).
  • Incompatibilité entre les attributs de la table et de la colonne de référence : Vérifiez que les types de données et les contraintes de la colonne de clé étrangère et de la colonne référencée sont compatibles.

Résolution :

  1. Corrigez la syntaxe dans l'instruction ALTER TABLE pour référencer le nom de table correct, katalog.
  2. Assurez-vous que la table référencée, Sprache, existe avec une colonne ID qui correspond à la clé étrangère contrainte.
  3. Vérifiez que les types de données et les contraintes de la colonne de clé étrangère (Sprache dans ce cas) correspondent à ceux de la colonne référencée (ID dans Sprache) dans la table référencée.

Exemple :

Pour ajouter avec succès la clé étrangère, utilisez la modification ALTER TABLE suivante déclaration :

ALTER TABLE katalog
ADD CONSTRAINT `fk_katalog_sprache`
FOREIGN KEY (`Sprache`)
REFERENCES `Sprache` (`ID`)
ON DELETE SET NULL
ON UPDATE SET NULL;
Copier après la connexion

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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal