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 :
- Corrigez la syntaxe dans l'instruction ALTER TABLE pour référencer le nom de table correct, katalog.
- Assurez-vous que la table référencée, Sprache, existe avec une colonne ID qui correspond à la clé étrangère contrainte.
- 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!