Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Wie kann man Fremdschlüsselbeziehungen programmgesteuert bestimmen?

Es gibt zwei Tabellen, die Sie abfragen können, um diese Informationen zu erhalten:INFORMATION_SCHEMA.TABLE_CONSTRAINTS und INFORMATION_SCHEMA.KEY_COLUMN_USAGE .

Hier ist eine Abfrage aus den Kommentaren auf der oben verlinkten letzteren Seite, die zeigt, wie Sie die gesuchten Informationen erhalten.

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;

Verwenden Sie Ihren Schemanamen anstelle von 'test ' oben.