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
880 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!

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