Comment trouver toutes les tables qui ont les clés étrangères qui font référence à table en particulier.colonne et ont les valeurs de ces clés étrangères?

J'ai une table dont la clé primaire est référencé dans plusieurs autres tableaux de clé étrangère. Par exemple:

  CREATE TABLE `X` (
    `X_id` int NOT NULL auto_increment,
    `name` varchar(255) NOT NULL,
    PRIMARY KEY  (`X_id`)
  )
  CREATE TABLE `Y` (
    `Y_id` int(11) NOT NULL auto_increment,
    `name` varchar(255) NOT NULL,
    `X_id` int DEFAULT NULL,
    PRIMARY KEY  (`Y_id`),
    CONSTRAINT `Y_X` FOREIGN KEY (`X_id`) REFERENCES `X` (`X_id`)
  )
  CREATE TABLE `Z` (
    `Z_id` int(11) NOT NULL auto_increment,
    `name` varchar(255) NOT NULL,
    `X_id` int DEFAULT NULL,
    PRIMARY KEY  (`Z_id`),
    CONSTRAINT `Z_X` FOREIGN KEY (`X_id`) REFERENCES `X` (`X_id`)
  )

Maintenant, je ne sais pas combien de tables il y a dans la base de données qui contiennent des clés étrangères dans X comme des tables Y et Z. Est-il une requête SQL que je peux utiliser pour le retour:

  1. Une liste de tables qui ont des clés étrangères dans X
  2. ET qui de ces tables ont effectivement des valeurs dans la clé étrangère
InformationsquelleAutor | 2009-04-30