Maison >base de données >tutoriel mysql >Comment supprimer des clés étrangères dans MySQL sans erreurs ?
Suppression de clés étrangères dans MySQL
Lorsqu'ils tentent de modifier des tables avec des contraintes de clé étrangère, les utilisateurs peuvent rencontrer des erreurs empêchant la suppression de clés étrangères spécifiques . Ce problème survient lors de l'utilisation du nom d'index au lieu du nom de contrainte dans l'instruction DROP FOREIGN KEY.
Considérons l'exemple suivant :
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 la clé étrangère locationIDX de la table d'affectation , la syntaxe correcte est :
ALTER TABLE assignment DROP FOREIGN KEY locationIDXconstraint;
Remarque : La contrainte locationIDX doit être remplacée par le nom réel de la contrainte.
En spécifiant le nom de la contrainte plutôt que le nom de l'index , la contrainte de clé étrangère peut être supprimée avec succès sans rencontrer d'erreurs.
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!