Primeiramente, o que é FOREIGN KEY?
É comum utilizarmos as chamadas “chaves estrangeiras” em banco de dados relacionais, como por exemplo o MySQL. Tais chaves, nos ajudam a garantir a integridade de nossos dados, vinculando registros à outros, entre tabelas. O que isso significa? Significa basicamente que, se tivermos um registro X, que está vinculado à outro Y, não será permitido excluir o X, deixando o Y “sem pai”, vamos assim dizer.
Como remover uma FOREIGN KEY Constraint no MySQL?
Bom, é mais simples do que parece. Para remover uma FOREIGN KEY Constraint no MySQL, basta executar um ALTER TABLE no banco com DROP FOREIGN KEY informando o nome da constraint que deseja excluir. Veja a sintaxe abaixo:
1 2 |
ALTER TABLE table_name DROP FOREIGN KEY constraint_name; |
Na instrução SQL acima, você deve informar o nome da tabela que tem a restrição (table_name), da qual deseja remover a chave estrangeira (FOREIGN KEY). Especifique também o nome da FOREIGN KEY em constraint_name.
Vamos a um exemplo prático? Bora!
Vamos criar duas tabelas, que possuem FOREIGN KEY entre si. Ou seja, criaremos uma tabela “pai” e uma tabela “filha” que receberá a FOREIGN KEY, apontando para a tabela “pai”.
1 2 3 4 5 |
CREATE TABLE `categoria` ( `id` INT(11) AUTO_INCREMENT, `nome` VARCHAR(100), PRIMARY KEY (`id`) ); |
Agora, vamos criar a tabela “filha”, a qual receberá nossa FOREIGN KEY, apontando para nossa tabela categoria (tabela “pai”).
1 2 3 4 5 6 7 |
CREATE TABLE `sub_categoria` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `id_categoria` INT(11), `nome` VARCHAR(100), PRIMARY KEY (`id`), CONSTRAINT `fk_sub_categoria` FOREIGN KEY (`id_categoria`) REFERENCES `categoria`(`id`) ); |
Como remover a restrição de chave estrangeira?
Simples. A consulta SQL abaixo, realizar a exclusão da nossa FOREIGN KEY no MySQL.
1 |
ALTER TABLE `sub_categoria` DROP FOREIGN KEY `fk_sub_categoria`; |
E ai? Funcionou ai também? Gostou?
Então, até a próxima! Siga-nos no YouTube @codigomaster !