Această soluție nu numai că va afișa toate relațiile, ci și numele de constrângere, care este necesar în unele cazuri (de exemplu, drop contraint):
select
concat(table_name, '.', column_name) as 'foreign key',
concat(referenced_table_name, '.', referenced_column_name) as 'references',
constraint_name as 'constraint name'
from
information_schema.key_column_usage
where
referenced_table_name is not null;
Dacă doriți să verificați tabele într-o bază de date specifică, la sfârșitul interogării, adăugați numele tabelului:
select
concat(table_name, '.', column_name) as 'foreign key',
concat(referenced_table_name, '.', referenced_column_name) as 'references',
constraint_name as 'constraint name'
from
information_schema.key_column_usage
where
referenced_table_name is not null
and table_schema = 'database_name';
De asemenea, pentru un anumit nume de coloană, adăugați
și table_name = 'nume_tabel
la sfârșitul interogării.
Inspired by this post here