Maison >base de données >tutoriel mysql >Comment résoudre l'erreur MySQL 1025 lors de la suppression d'une clé étrangère ?

Comment résoudre l'erreur MySQL 1025 lors de la suppression d'une clé étrangère ?

DDD
DDDoriginal
2024-11-13 12:24:02231parcourir

How to Resolve MySQL Error 1025 When Dropping a Foreign Key?

Suppression d'une clé étrangère pour résoudre "Erreur 1025" dans MySQL

Lors de la tentative de suppression d'une colonne de clé étrangère d'une table, MySQL peut affiche l'erreur "ERREUR 1025 (HY000) : erreur lors du changement de nom". Cette erreur peut survenir en raison de la syntaxe spécifique utilisée pour supprimer les clés étrangères.

Dans le contexte du code fourni :

CREATE TABLE location (
   locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY
   ...
) ENGINE = InnoDB;

CREATE TABLE assignment (
   assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   locationID INT NOT NULL,
   FOREIGN KEY locationIDX (locationID) REFERENCES location (locationID)
   ...
) ENGINE = InnoDB;

CREATE TABLE assignmentStuff (
   ...
   assignmentID INT NOT NULL,
   FOREIGN KEY assignmentIDX (assignmentID) REFERENCES assignment (assignmentID)
) ENGINE = InnoDB;

Pour supprimer correctement la colonne de clé étrangère "locationIDX" dans le "affectation", le nom de la contrainte doit être spécifié, pas le nom de l'index. La syntaxe pour supprimer une contrainte de clé étrangère est :

ALTER TABLE table_name DROP FOREIGN KEY constraint_name;

Dans ce cas, le nom de la contrainte est "locationIDX" (comme spécifié dans la clause "FOREIGN KEY"). Par conséquent, la commande correcte pour supprimer la clé étrangère serait :

ALTER TABLE assignment DROP FOREIGN KEY locationIDX;

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