Maison >base de données >tutoriel mysql >Comment corriger l'erreur MySQL 1005 lors de l'ajout de clés étrangères à des tables existantes ?

Comment corriger l'erreur MySQL 1005 lors de l'ajout de clés étrangères à des tables existantes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 20:44:12659parcourir

How to Fix MySQL Error 1005 When Adding Foreign Keys to Existing Tables?

Dépannage de la création d'une clé étrangère dans des tables existantes

Lorsque vous essayez d'ajouter une clé étrangère à une table, vous pouvez rencontrer le « Code d'erreur : 1005" indiquant un problème avec la résolution de la table. Explorons le problème et proposons une solution :

Origine de l'erreur

L'erreur se produit car MySQL ne peut pas résoudre le nom de la table "Sprache" lors de l'exécution de l'instruction ALTER TABLE . La table n'est pas reconnue car elle est précédée du nom de table temporaire "mytable.#sql-7fb1_7d3a".

Solution pour MySQL 5.1.61 et versions antérieures

Pour MySQL versions 5.1.61 et inférieures, vous pouvez résoudre le problème en utilisant la modification suivante ALTER TABLE syntaxe :

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

À la place de "Sprache", assurez-vous que le nom du champ utilisé comme clé étrangère est utilisé.

Remarque : Si vous utilisez MySQL versions supérieures à 5.1.61, vous pouvez rencontrer une erreur différente liée à la clause « ON DELETE SET NULL ». Dans de tels cas, reportez-vous à la documentation appropriée pour la version spécifique de MySQL.

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