Maison > base de données > tutoriel mysql > Comment trouver des références de clés étrangères et leurs valeurs renseignées dans une base de données ?

Comment trouver des références de clés étrangères et leurs valeurs renseignées dans une base de données ?

Susan Sarandon
Libérer: 2024-12-08 14:12:12
original
809 Les gens l'ont consulté

How to Find Foreign Key References and Their Populated Values in a Database?

Recherche de références de clés étrangères et de valeurs renseignées

Dans un schéma de base de données, il est courant d'avoir des tables qui référencent d'autres tables via des clés étrangères. Pour identifier les tables avec des clés étrangères référençant une table et une colonne spécifiques, ainsi que les tables dans lesquelles ces clés étrangères contiennent des données, la requête suivante peut être utilisée :

SELECT *
FROM
  information_schema.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id';
Copier après la connexion

Cette requête récupère les informations de la table KEY_COLUMN_USAGE dans le base de données information_schema, qui contient des métadonnées sur les relations de clés étrangères. En filtrant les résultats sur REFERENCED_TABLE_NAME (X) et REFERENCED_COLUMN_NAME (X_id) spécifiés, la requête répertorie toutes les tables dont les clés étrangères pointent vers la colonne X_id de la table X.

De plus, pour garantir que seules les tables avec des clés étrangères renseignées les clés sont incluses, la requête peut être étendue pour inclure une vérification des valeurs non nulles dans la clé étrangère column :

SELECT t.TABLE_NAME, kcu.*
FROM
  information_schema.KEY_COLUMN_USAGE kcu
JOIN
  information_schema.TABLES t ON t.TABLE_SCHEMA = kcu.TABLE_SCHEMA
  AND t.TABLE_NAME = kcu.TABLE_NAME
WHERE
  kcu.REFERENCED_TABLE_NAME = 'X'
  AND kcu.REFERENCED_COLUMN_NAME = 'X_id'
ORDER BY
  t.TABLE_NAME;
Copier après la connexion

Cette requête mise à jour récupère le nom de la table ainsi que les métadonnées de la clé étrangère, garantissant que seules les tables avec des clés étrangères renseignées sont incluses dans les résultats. En triant les résultats par nom de table, la sortie fournit une vue claire des tables qui ont des références de clé étrangère à la table et à la colonne spécifiées, et lesquelles de ces tables contiennent des données dans le champ de clé étrangère.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal