Heim >Datenbank >MySQL-Tutorial >Wie finde ich Fremdschlüsselreferenzen und ihre ausgefüllten Werte in einer Datenbank?

Wie finde ich Fremdschlüsselreferenzen und ihre ausgefüllten Werte in einer Datenbank?

Susan Sarandon
Susan SarandonOriginal
2024-12-08 14:12:12826Durchsuche

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

Fremdschlüsselreferenzen und ausgefüllte Werte finden

In einem Datenbankschema gibt es häufig Tabellen, die über Fremdschlüssel auf andere Tabellen verweisen. Um Tabellen mit Fremdschlüsseln zu identifizieren, die auf eine bestimmte Tabelle und Spalte verweisen, sowie Tabellen, in denen diese Fremdschlüssel Daten enthalten, kann die folgende Abfrage verwendet werden:

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

Diese Abfrage ruft Informationen aus der Tabelle KEY_COLUMN_USAGE in ab information_schema-Datenbank, die Metadaten über Fremdschlüsselbeziehungen enthält. Durch Filtern der Ergebnisse nach dem angegebenen REFERENCED_TABLE_NAME (X) und REFERENCED_COLUMN_NAME (X_id) listet die Abfrage alle Tabellen auf, deren Fremdschlüssel auf die X_id-Spalte der Wenn Schlüssel enthalten sind, kann die Abfrage um eine Prüfung auf Nicht-Null-Werte im Fremdschlüssel erweitert werden Spalte:

Diese aktualisierte Abfrage ruft den Tabellennamen zusammen mit den Fremdschlüsselmetadaten ab und stellt so sicher, dass nur Tabellen mit ausgefüllten Fremdschlüsseln in die Ergebnisse einbezogen werden. Durch Sortieren der Ergebnisse nach Tabellennamen bietet die Ausgabe eine klare Übersicht darüber, welche Tabellen Fremdschlüsselverweise auf die angegebene Tabelle und Spalte haben und welche dieser Tabellen Daten im Fremdschlüsselfeld enthalten.
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;

Das obige ist der detaillierte Inhalt vonWie finde ich Fremdschlüsselreferenzen und ihre ausgefüllten Werte in einer Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn