有没有办法使用 SQL 列出给定表的所有外键?我知道表名称/架构,我可以将其插入。
您可以通过 information_schema 表来完成此操作。例如:
SELECT
tc.table_schema,
tc.constraint_name,
tc.table_name,
kcu.column_name,
ccu.table_schema AS foreign_table_schema,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
AND tc.table_schema = kcu.table_schema
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE tc.constraint_type = 'FOREIGN KEY'
AND tc.table_schema='myschema'
AND tc.table_name='mytable';
如果您需要采取其他方式,即查找表用作外部表的所有位置,您可以将最后两个条件替换为:
AND ccu.table_schema='myschema'
AND ccu.table_name='mytable';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)