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?
Antwort
select table_name
from information_schema.KEY_COLUMN_USAGE
where table_schema = 'my_database'
and referenced_table_name = 'my_table_here';
Dies funktioniert.
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
Ich verwende Linux, damit das von Ihnen vorgeschlagene Tool nicht funktioniert. –
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 –
select table_name
from information_schema.referential_constraints
where referenced_table_name = 'parent table here';
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) –
Ich benutze 5.1.31 –
Sehen Sie sich die Tabelle KEY_COLUMN_USAGE im Schema iformation_schema an.
aus der mysql-Befehlszeile: zeigen Tabellenstatus
Sie MySQL Workbench versuchen konnten, das Sie E. R. Diagramm zu extrahieren. Hier finden Sie alles, was Sie über Tabellen Ihrer Datenbank benötigen.
Wenn Sie phpMyAdmin installiert haben, können Sie seine designer feature verwenden, um Tabellenbeziehungen zu visualisieren.
die Designer zu verwenden, eine Datenbank auswählen, dann suchen Sie nach den Designer Registerkarte.
- 1. Wie finde ich heraus, welche ASPX-Dateien tatsächlich auf eine JavaScript-Datei verweisen?
- 2. Wie finde ich heraus, welcher Edelstein eine bestimmte Abhängigkeit hat?
- 3. Wie finde ich heraus, welche Bibliotheken eine Windows-Exe verwendet?
- 4. Wie finde ich heraus, welche DLLs eine ausführbare Datei lädt?
- 5. Wie finde ich heraus, welches Paket/Verfahren eine Tabelle aktualisiert?
- 6. Wie finde ich heraus, welche Art von Dokument in IE
- 7. Wie finde ich heraus, welche Version von TinyMCE ich verwende?
- 8. Wie finde ich heraus, welche Version von reportlab ich verwende?
- 9. Wie finde ich heraus, welche Play-Version ich verwende?
- 10. Wie finde ich heraus, welche Transaktion den Status "Warten auf Tabellenmetadatensperre" verursacht?
- 11. Wie finde ich heraus, welche JAR-Anwendung nicht verwendet wird?
- 12. Wie finde ich heraus, welche Visual Studio-Erweiterung Speicherlecks verursacht?
- 13. Wie finde ich heraus, welche Sprachen in EnterpriseDB geladen werden?
- 14. Wie finde ich heraus, welche Version von Sybase läuft?
- 15. Wie finde ich heraus, welche Javascript-Bibliothek besitzt $
- 16. Wie finde ich heraus, welche settings.xml-Datei maven verwendet
- 17. Wie finde ich heraus, welche Container ein bestimmtes Volumen haben?
- 18. Wie finde ich heraus, welche JavaScript-Ereignisse ausgelöst wurden?
- 19. Wie finde ich heraus, welche Nachrichten ein Objekt versteht?
- 20. Wie finde ich heraus, welche Klasse einen Fehler druckt?
- 21. Wie finde ich heraus, welche Gruppe ein bestimmter Benutzer hat?
- 22. Wie finde ich heraus, welche JDK-Version Eclipse verwendet?
- 23. Wie finde ich heraus, welche Zeichentaste gedrückt wurde?
- 24. Wie finde ich heraus, welche Version von mod_perl installiert ist?
- 25. Wie finde ich heraus, welche Tabellen Daten in einer Datei in SQL Server haben?
- 26. Wie finde ich heraus, welche Befehle in einer MySQL-Datenbank innerhalb eines bestimmten Zeitraums ausgeführt werden?
- 27. Mysql - finde eine Tabelle in allen Datenbanken
- 28. Wie finde ich heraus, wo eine Android-App gespeichert ist?
- 29. Wie finde ich heraus, wo eine Funktion definiert ist?
- 30. Wie finde ich heraus, wer eine Methode aufgerufen hat?
http://StackOverflow.com/q/806989 hat mehr Stimmen als diese Frage ... Obwohl dies vorher gefragt und beantwortet wurde. – Fr0zenFyr