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

MySQL:Como determinar os relacionamentos de chave estrangeira programaticamente?


Há duas tabelas que você pode consultar para obter essas informações:INFORMATION_SCHEMA.TABLE_CONSTRAINTS e INFORMATION_SCHEMA.KEY_COLUMN_USAGE .

Aqui está uma consulta dos comentários na última página vinculada acima, que demonstra como obter as informações que você procura.
SELECT CONCAT( table_name, '.', column_name, ' -> ', 
  referenced_table_name, '.', referenced_column_name ) AS list_of_fks 
FROM INFORMATION_SCHEMA.key_column_usage 
WHERE referenced_table_schema = 'test' 
  AND referenced_table_name IS NOT NULL 
ORDER BY table_name, column_name;

Use o nome do seu esquema em vez de 'test ' acima de.