Neste artigo você vai aprender a como listar todas as foreign keys de uma tabela com MySQL, de uma forma simples e rápida
Fala programador(a), beleza? Bora aprender mais sobre FOREIGN KEYS e também sobre SQL!
Para listas todas as chaves estrangeiras, ou seja, foreign keys que estão relacionadas a uma tabela precisamos criar uma query que aparenta ser complexa
Mas ela pode ser reproduzida facilmente para outras tabelas, apenas precisamos determinar o nome do banco e a tabela alvo
Veja a query necessária:
SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = "seu_banco" AND REFERENCED_TABLE_NAME = "sua_tabela";
Esta query vai gerar um retorno que é exatamente o que precisamos, quais tabelas e suas colunas que fazem relação com a tabela alvo e em todas as colunas
Se precisarmos de mais especifidade, por exemplo: detalhar os dados apenas de uma coluna, podemos fazer assim:
SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = "seu_banco" AND REFERENCED_TABLE_NAME = "sua_tabela" AND REFERENCED_COLUMN_NAME = "sua_coluna";
Agora temos as FOREIGN KEYs apenas de uma única coluna por vez
Conclusão
Neste artigo você aprendeu a listar todas as foreign keys de uma tabela em MySQL
Esta solução pode ser facilmente replicada em outros bancos relacionais também, basta realizar as adaptações necessárias para a sintaxe
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!
Show de bola essa dica, ajudou muito para resolver um problema onde outro Dev renomeou uma tabela num processo de importação e todas as tabelas relacionadas tiveram suas chaves estrangeiras alteradas também. O que resultou em violações de chave é claro… Parabéns pelo seu trabalho.