2009-04-16 6 views
25

Ich möchte eine Tabelle löschen, aber es wird von einer oder mehreren anderen Tabellen referenziert. Wie kann ich herausfinden, welche Tabellen diese Tabelle referenzieren, ohne sich die einzelnen Tabellen in der Datenbank einzeln ansehen zu müssen?MySQL: Wie finde ich heraus, welche Tabellen auf eine bestimmte Tabelle verweisen?

+2

http://StackOverflow.com/q/806989 hat mehr Stimmen als diese Frage ... Obwohl dies vorher gefragt und beantwortet wurde. – Fr0zenFyr

Antwort

53
select table_name 
from information_schema.KEY_COLUMN_USAGE 
where table_schema = 'my_database' 
and referenced_table_name = 'my_table_here'; 

Dies funktioniert.

-1

Verwenden Sie Toad, um es zu laden, und Sie können die Referenzen durch das Diagramm anzeigen. Stellen Sie außerdem sicher, dass Sie keinen App-Code haben, der sql vom Front-End übergibt. Wenn Sie die Tabelle löschen, kann dies zum Bruch der App führen.

Download-Link http://www.toadsoft.com/toadmysql/FreewareDownload.htm

Wenn Sie InnoDB verwenden versuchen Sie dieses SHOW TABLE STATUS VON yourdatabasename 'T' LIKE http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html

+0

Ich verwende Linux, damit das von Ihnen vorgeschlagene Tool nicht funktioniert. –

+0

Wenn Sie mit innoDB versuchen Sie diesen SHOW TABLE STATUS VON yourdatabasename LIKE 'T' http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html –

4
select table_name 
from information_schema.referential_constraints 
where referenced_table_name = 'parent table here'; 
+0

Der Tisch referential_constraints existiert nicht in information_schema. Ich habe in dieser Datenbank nach einer Antwort gesucht, kann sie aber nicht finden. MySQL-Version ist 5.0.51a-24-log (Debian) –

+0

Ich benutze 5.1.31 –

-1

Sehen Sie sich die Tabelle KEY_COLUMN_USAGE im Schema iformation_schema an.

-1

aus der mysql-Befehlszeile: zeigen Tabellenstatus

-1

Sie MySQL Workbench versuchen konnten, das Sie E. R. Diagramm zu extrahieren. Hier finden Sie alles, was Sie über Tabellen Ihrer Datenbank benötigen.

0

Wenn Sie phpMyAdmin installiert haben, können Sie seine designer feature verwenden, um Tabellenbeziehungen zu visualisieren.

enter image description here

die Designer zu verwenden, eine Datenbank auswählen, dann suchen Sie nach den Designer Registerkarte.

Verwandte Themen