Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:come determinare le relazioni di chiavi esterne in modo programmatico?

Ci sono due tabelle che puoi interrogare per ottenere queste informazioni:INFORMATION_SCHEMA.TABLE_CONSTRAINTS e INFORMATION_SCHEMA.KEY_COLUMN_USAGE .

Ecco una query dai commenti nell'ultima pagina collegata sopra, che mostra come ottenere le informazioni che cerchi.

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;

Usa il nome del tuo schema invece di 'test ' sopra.