I want to drop a table but it is referenced by one or more other tables. How can I find out which tables are referencing this table without having to look at each of the tables
select table_name
from information_schema.KEY_COLUMN_USAGE
where table_schema = 'my_database'
and referenced_table_name = 'my_table_here';
This works.
you could try MySql workbench which allows you to extract E.R. diagram. In this you can find all you need about tables of your database.
Use Toad to load it up and you can view the references through the diagram. also make sure that you don't have any app code passing sql from the front-end, dropping the table may cause the app to break.
Download link http://www.toadsoft.com/toadmysql/FreewareDownload.htm
If you are using innoDB try this one SHOW TABLE STATUS FROM yourdatabasename LIKE 'T' http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
from the mysql command line: show table status
If you have phpMyAdmin installed, you can use its designer feature to visualize table relationships.
To use the designer, select a database, then look for the Designer tab.
select table_name
from information_schema.referential_constraints
where referenced_table_name = 'parent table here';