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

Come trovare tutte le tabelle che hanno chiavi esterne che fanno riferimento a una particolare table.column e hanno valori per quelle chiavi esterne?

Ecco a te:

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

Se hai più database con nomi di colonne/tabelle simili, potresti anche voler limitare la tua query a un database particolare:

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