How to find which mysql tables refer to a particular field in another table?
database
mysql
database-design
Software and digital electronics / Coding
2023-12-29 23:00
I have a mysql database where there are so many tables refer to each other.
Among them, I would like to find which table is referring to column columnX
of tableY`.
This is extremely difficult to check all tables one by one.
Is there any easy way to find list of all of these references?
add comment
Answered by robin
2024-06-29 23:08
What you are looking for is achievable by a single SQL query as follows:
SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'your_table_name' AND REFERENCED_COLUMN_NAME = 'your_field_name';
Replace your_table_name
and your_field_name
with what you are looking for.
Warning: table name might have prefix!
add comment