mysql-使用信息模式中的KEY_COLUMN_USAGE计算外键的数量
作者:互联网
我有一个很大的MySQL数据库,我需要知道它有多少个外键.我尝试使用以下命令:
SELECT COUNT(*) AS 'number of foreign keys'
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA='pubs'
AND REFERENCED_TABLE_NAME IS NOT NULL;
在小型数据库(pubs)中,它返回正确数量的外键,但是我不确定在所有情况下此查询是否都可以.
这个查询正确吗?还有另一种方法吗?
提前致谢.
解决方法:
referential_constraints
表包含有关外键的信息.因此,您可以简单地执行以下操作:
SELECT COUNT(DISTINCT CONSTRAINT_NAME)
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_SCHEMA = 'pubs';
使用COUNT(DISTINCT)组合在同一外键约束中的多个列.如果要分别计算所有列,请改用COUNT(*).
标签:information-schema,mysql 来源: https://codeday.me/bug/20191119/2039263.html