Heim > Datenbank > MySQL-Tutorial > Wie finde ich Tabellen mit Fremdschlüsseln, die auf eine bestimmte Tabellenspalte verweisen und Werte enthalten?

Wie finde ich Tabellen mit Fremdschlüsseln, die auf eine bestimmte Tabellenspalte verweisen und Werte enthalten?

DDD
Freigeben: 2024-12-11 18:46:11
Original
162 Leute haben es durchsucht

How to Find Tables with Foreign Keys Referencing a Specific Table.Column and Containing Values?

Abrufen von Tabellen mit Fremdschlüsseln, die auf eine bestimmte Tabellenspalte verweisen und Werte enthalten

Im Zusammenhang mit relationalen Datenbanken ist es häufig erforderlich, sie zu identifizieren Tabellen, die über Fremdschlüssel verfügen, die auf eine bestimmte Tabellen-Spalten-Kombination verweisen, insbesondere wenn die Anzahl der Tabellen in der Datenbank unbekannt ist. Um dies zu erreichen, können wir die folgende Abfrage verwenden:

SELECT *
FROM
  information_schema.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id';
Nach dem Login kopieren

Diese Abfrage nutzt die Tabelle KEY_COLUMN_USAGE in der Datenbank information_schema. Es wird eine Liste von Tabellen zurückgegeben, deren Fremdschlüssel auf die Spalte X_id der Tabelle X verweisen. Um sicherzustellen, dass nur Tabellen mit ausgefüllten Fremdschlüsselwerten abgerufen werden, können wir die Ergebnisse weiter filtern, indem wir eine zusätzliche Bedingung hinzufügen:

SELECT *
FROM
  information_schema.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_NAME = 'X'
  AND REFERENCED_COLUMN_NAME = 'X_id'
  AND NOT ISNULL(TABLE_NAME);
Nach dem Login kopieren

Diese überarbeitete Abfrage eliminiert Tabellen mit Nullwerten in ihren Fremdschlüsselspalten und stellt eine bereit umfassende Liste von Tabellen, die sowohl Fremdschlüssel enthalten, die auf X.X_id verweisen, als auch Nicht-Null-Werte in diesen Fremdschlüsseln.

Das obige ist der detaillierte Inhalt vonWie finde ich Tabellen mit Fremdschlüsseln, die auf eine bestimmte Tabellenspalte verweisen und Werte enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage