Mysql
 sql >> Base de données >  >> RDS >> Mysql

Supprimer une colonne avec une clé étrangère

Vous devez d'abord déposer la clé. Je ne connais pas les noms de vos tables mais je vais vous donner la stratégie générale par exemple. Supposons que vous disposiez des 2 tables InnoDB suivantes :

CREATE TABLE `A` (
   `id` int(10) unsigned NOT NULL auto_increment,
    PRIMARY KEY  (`id`)
) ENGINE=InnoDB;

CREATE TABLE `B` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `a_id` int(10) unsigned NOT NULL,
    PRIMARY KEY  (`id`),
    KEY `a_id` (`a_id`),
    CONSTRAINT `b_ibfk_1` FOREIGN KEY (`a_id`) REFERENCES `a` (`id`)
) ENGINE=InnoDB;

Vous pouvez supprimer le a_id colonne de la table B en utilisant la commande suivante :

alter table B drop foreign key b_ibfk_1, drop column a_id;