Criando uma chave estrangeira no MySQL
Veja nesse artigo como implementar uma chave estrangeira no MySQL a partir do uso de tabelas do tipo InnoDB. Um artigo completo que vai te ajudar a compreender tudo sobre chave estrangeira no MySQL. Confira.
O MySQL, a partir da versão 3.23.43b, passa a incorporar o recurso de criação e manutenção de tabelas do tipo InnoDB. Tabelas do tipo InnoDB suportam restrições por chave estrangeira e o uso de stored procedures. Assim, se você quer modelar/desenvolver bancos implementando o recurso de chaves estrangeiras, suas tabelas terão que ser do tipo InnoDB.

Criando tabelas
Para criar tabelas do tipo InnoDB, você deverá incluir no final da tabela a seguinte sintaxe:
ENGINE = innodb;
Veja exemplos de criação de tabelas.
CREATE TABLE `cidades` (
`codcidade` INT NOT NULL ,
`descricao` VARCHAR( 50 ) NOT NULL
) ENGINE = innodb;
CREATE TABLE `clientes` (
`codcliente` INT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL
) ENGINE = innodb;
CREATE TABLE `vendedores` (
`codvendedor` INT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL
) ENGINE = innodb;
CREATE TABLE `vendas` (
`codvenda` INT PRIMARY KEY ,
`datavenda` DATE NOT NULL
`codcliente` INT,
`codvendedor` INT
) ENGINE = innodb;
Listagem 1. Exemplo de criação de tabelas.Após criar as tabelas, você fará uma alteração na estrutura de cada tabela que necessita utilizar a chave estrangeira. Essa alteração da estrutura da tabela é feita a partir do comando alter table.
Veja alguns exemplos:
ALTER TABLE `clientes` ADD CONSTRAINT `fk_cidade` FOREIGN KEY ( `codcidade` ) REFERENCES `cidade` ( `codcidade` ) ;
ALTER TABLE `vendas` ADD CONSTRAINT `fk_vendas_codcliente` FOREIGN KEY ( `codcliente` ) REFERENCES `clientes` ( ` codcliente ` ) ;
ALTER TABLE `vendas` ADD CONSTRAINT `fk_vendas_codvendedor` FOREIGN KEY ( `codvendedor` ) REFERENCES `vendedores` ( ` codvendedor ` ) ;
Listagem 2. Alterando a estrutura das tabelas.Após criar as chaves estrangeiras vamos verificar a estrutura das tabelas utilizando o comando DESC. Digite DESC vendas para visualizar a estrutura da tabela vendas.

Dica
Está inciando em PHP? Então confira esse artigo que vai lhe ensinar a como conectar o PHP e MySQL.
Conclusões
Neste artigo foram apresentados exemplos práticos da criação de chaves estrangeiras a partir do uso de de tabelas do tipo InnoDB.
PROGRAMADOR DE VERDADE.
VAGAS LIMITADAS
de: R$ 658,80
por: 12x R$ 49,90
- Acesso completo
- Projetos reais
- Professores online
- Exercícios gamificados
- Certificado de autoridade
