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