View all foreign key constraints for entire MySQL database
我有一个大型数据库,有超过150个桌子,我最近已经交了。 我只是想知道是否有一种简单的方法来查看整个数据库的所有外键约束,而不是基于每个表。
您可以使用
这样的事情应该这样做:
这是我更喜欢获得有用的信息:
1 2 3 4 5 6 7 8 9 |
如果您只有一个数据库,用户RedFilter当前接受的答案将正常工作,但如果您有很多数据库则不会。
输入
1 |
使用此查询可以将
1 | select * from `table_constraints` where `table_schema` like"name_of_db" and `constraint_type` = 'FOREIGN KEY' into outfile"output_filepath_and_name" FIELDS TERMINATED BY ',' ENCLOSED BY '"'; |
查询此代码
您将获得constraint_name,并过滤table_schema,它是
看这个
SQL:
1 2 3 4 5 |
输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | +----------------------------+--------------+---------------------+ | constraint_name | table_schema | table_name | +----------------------------+--------------+---------------------+ | PRIMARY | astdb | asset_category | | PRIMARY | astdb | asset_type | | PRIMARY | astdb | asset_valuation | | PRIMARY | astdb | assets | | PRIMARY | astdb | com_mst | | PRIMARY | astdb | com_typ | | PRIMARY | astdb | ref_company_type | | PRIMARY | astdb | supplier | | PRIMARY | astdb | third_party_company | | third_party_company_ibfk_1 | astdb | third_party_company | | PRIMARY | astdb | user | | PRIMARY | astdb | user_role | +----------------------------+--------------+---------------------+ |