Mysql
 sql >> Database >  >> RDS >> Mysql

Eliminazione di una colonna con una chiave esterna

Devi prima rilasciare la chiave. Non conosco i nomi dei tuoi tavoli ma ti darò la strategia generale con l'esempio. Supponiamo di avere le seguenti 2 tabelle InnoDB:

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;

Puoi eliminare a_id colonna nella tabella B utilizzando il seguente comando:

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