Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas ajouter une clé étrangère à ma table « catalogue » faisant référence à « Sprache » ?

Pourquoi ne puis-je pas ajouter une clé étrangère à ma table « catalogue » faisant référence à « Sprache » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-29 17:19:09772parcourir

Why Can't I Add a Foreign Key to My

Ajout d'une clé étrangère à une table existante

L'ajout d'une clé étrangère à une table existante peut être une tâche simple, mais elle peut parfois rencontrer des erreurs en raison d'une syntaxe incorrecte ou de problèmes de configuration de table.

Dans ce scénario spécifique, l'utilisateur est confronté à une erreur lorsqu'il tente d'ajouter une contrainte de clé étrangère à la table « catalogue », faisant référence à la table « Sprache ». Le message d'erreur indique une incapacité à résoudre la table "Sprache" dans la définition de clé étrangère.

Pour résoudre ce problème, assurez-vous que les tables "katalog" et "Sprache" existent dans la base de données et sont correctement définies . Vérifiez que les noms de colonnes référencés dans la contrainte de clé étrangère existent dans les deux tables, ont des types de données correspondants et ne sont pas NULL. De plus, vérifiez le moteur de table ; pour que les contraintes de clé étrangère fonctionnent correctement, les deux tables doivent utiliser le moteur de stockage InnoDB.

Si la configuration de la table est correcte, le problème peut résider dans la syntaxe de l'instruction ALTER TABLE. La syntaxe correcte pour ajouter une clé étrangère dans MySQL 5.1.61 est :

ALTER TABLE katalog ADD FOREIGN KEY (Sprache) REFERENCES Sprache (ID) ON DELETE SET NULL ON UPDATE SET NULL;

Assurez-vous que les noms de colonnes, les noms de tables et les clauses d'action sont tous correctement orthographiés. De plus, vérifiez que la table à laquelle vous faites référence dans la clause FOREIGN KEY existe dans la base de données et a une clé primaire définie.

En vérifiant la configuration de la table et en vous assurant que la syntaxe est appropriée, vous devriez pouvoir ajouter avec succès la table étrangère. contrainte clé à la table "catalogue".

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:
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