查询information_schema时接收重复结果

时间:2016-07-07 21:57:45

标签: mysql information-schema

我正在运行快速查询以确保表中的所有外键都引用了索引的字段。

我的代码如下:

select table_name, column_name, index_name from statistics where table_name in (select referenced_table_name from key_column_usage where table_name='table' and table_schema='schema') and column_name in (select referenced_column_name from key_column_usage where table_name='table' and table_schema='schema') order by table_name;

我在多个环境中运行它,但由于某种原因,我在一个特定环境中收到重复结果。但是,这些表都设置相同,所以我不确定是什么导致了这种行为。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在那个mysql服务器中,您可能有2个具有相同结构的数据库(模式),或者您有多列外键。在外部查询的选择列表中包含table_schema字段以进行确认。

在查询的where子句中使用多列in运算符或内部联接而不是多个单列in运算符。