Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment trouver toutes les tables qui ont des clés étrangères qui référencent une table.column particulière et qui ont des valeurs pour ces clés étrangères ?

Voilà :

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

Si vous avez plusieurs bases de données avec des noms de tables/colonnes similaires, vous pouvez également limiter votre requête à une base de données particulière :

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