Problème :
Vous souhaitez supprimer une clé étrangère d'une table dans une base de données.
Exemple :
Nous voulons supprimer la clé étrangère nommée fk_student_city_id du tableau student .
Solution 1 (nouveau tableau) :
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Discussion :
Pour supprimer une clé étrangère d'une table, utilisez la commande ALTER TABLE clause avec le nom de la table (dans notre exemple, student ) suivi de la clause DROP CONSTRAINT avec le nom de la contrainte de clé étrangère. Dans notre exemple, le nom de cette contrainte est fk_student_city_id .
Si la contrainte pour la clé étrangère a été générée par la base de données, vous pouvez trouver ce nom dans la base de données. Cependant, chaque serveur de base de données a une manière différente de nommer les contraintes. Dans SQL Server, vous pouvez le vérifier en sélectionnant les données de sys.key_constraints dans la base de données donnée. Dans PostgreSQL, vous sélectionnez le conname colonne de pg_constraint table. Oracle stocke ces données dans la table user_constraints et MySQL vous permet d'obtenir des noms à partir de CONSTRAINT_NAME colonne dans information_schema.TABLE_CONSTRAINTS .