Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Descartando uma coluna com uma chave estrangeira


Você deve soltar a chave primeiro. Eu não sei os nomes das suas mesas, mas vou te dar a estratégia geral por exemplo. Suponha que você tenha as seguintes 2 tabelas 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;

Você pode descartar o a_id coluna na tabela B usando o seguinte comando:
alter table B drop foreign key b_ibfk_1, drop column a_id;