MySQL: Supprimer une foreign key

Pour supprimer une foreign key, la prémière étape est d’afficher une description de la table sur laquelle on veut supprimer cette foreign key.

J’ai une table Groups:

mysql> SHOW CREATE TABLE Groups;
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Groups | CREATE TABLE `Groups` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` text,
 `query` text,
 `bool` text,
 `FK_users` int(11) NOT NULL,
 `type` int(11) DEFAULT '0',
 PRIMARY KEY (`id`),
 KEY `dyngroup_groups_name_idx` (`name`(10)),
 KEY `type` (`type`),
 KEY `dyngroup_groups_fk_user_idx` (`FK_users`),
 CONSTRAINT `Groups_ibfk_1` FOREIGN KEY (`type`) REFERENCES `GroupType` (`id`),
 CONSTRAINT `Groups_ibfk_2` FOREIGN KEY (`FK_users`) REFERENCES `Users` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Admettons que je veille supprimer  la foreign key Groups_ibfk_1:

 CONSTRAINT `Groups_ibfk_1` FOREIGN KEY (`type`) REFERENCES `GroupType` (`id`),

Il suffit de faire:

ALTER TABLE Groups DROP FOREIGN KEY Groups_ibfk_1;

3 réflexions au sujet de « MySQL: Supprimer une foreign key »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *