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

Wie finden Sie alle Tabellen mit Fremdschlüsseln, die auf bestimmte Tabellenspalten verweisen und Werte für diese Fremdschlüssel haben?

Bitte schön:

USE information_schema;
SELECT *
FROM
  KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id';

Wenn Sie mehrere Datenbanken mit ähnlichen Tabellen-/Spaltennamen haben, können Sie Ihre Abfrage auch auf eine bestimmte Datenbank beschränken:

SELECT *
FROM
  KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id'
  AND TABLE_SCHEMA = 'your_database_name';