Maison >base de données >tutoriel mysql >Pourquoi tenter de supprimer une clé étrangère dans MySQL à l'aide du nom de l'index entraîne-t-il une erreur ?

Pourquoi tenter de supprimer une clé étrangère dans MySQL à l'aide du nom de l'index entraîne-t-il une erreur ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-27 07:55:09465parcourir

Why Does Attempting to Remove a Foreign Key in MySQL Using the Index Name Result in an Error?

Erreur : suppression d'une clé étrangère dans MySQL avec le nom d'index

Lorsque vous essayez de supprimer une colonne de clé étrangère d'une table, vous pouvez rencontrer une erreur si vous spécifiez le nom de l'index au lieu du nom de la contrainte.

Dans l'exemple donné, la requête pour supprimer la contrainte de clé étrangère locationIDX utilisant le nom de l'index entraîne l'erreur :

ERROR 1025 (HY000): Error on rename

Solution : supprimer la clé étrangère par nom de contrainte

Pour supprimer correctement la colonne, utilisez le nom de la contrainte comme suit :

ALTER TABLE assignment DROP FOREIGN KEY locationIDX;

Raison

Dans MySQL, les contraintes de clé étrangère sont référencées par leurs noms, et non par les noms de leurs index associés. En spécifiant le nom de la contrainte, vous vous assurez que la contrainte correcte est supprimée sans affecter les autres index ou relations dans la base de données.

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