Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为所有表选择索引_Mysql - Fatal编程技术网

Mysql 为所有表选择索引

Mysql 为所有表选择索引,mysql,Mysql,如何获取数据库中所有表的所有索引? 类似于show index,但我可以为给定数据库上的所有表执行,更重要的是,我可以将其用作子查询 请注意,我对主键不感兴趣,但对另一个索引感兴趣 编辑: 因此,我正在寻找的解决方案是(基于aarbor的回答): 选择DISTINCT 表格名称, 索引名称, 列名 来自信息\模式统计 其中表_SCHEMA=SCHEMA()和索引_name'PRIMARY'; 摘自: 摘自:好的,谢谢。我不知道这个表也有列名。好的,谢谢。我不知道这个表也有列名。 SELECT

如何获取数据库中所有表的所有索引? 类似于
show index
,但我可以为给定数据库上的所有表执行,更重要的是,我可以将其用作子查询

请注意,我对主键不感兴趣,但对另一个索引感兴趣

编辑: 因此,我正在寻找的解决方案是(基于aarbor的回答):

选择DISTINCT
表格名称,
索引名称,
列名
来自信息\模式统计
其中表_SCHEMA=SCHEMA()和索引_name'PRIMARY';
摘自:


摘自:

好的,谢谢。我不知道这个表也有列名。好的,谢谢。我不知道这个表也有列名。
SELECT DISTINCT
    TABLE_NAME,
    INDEX_NAME,
    COLUMN_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = schema() and index_name <> 'PRIMARY';
SELECT DISTINCT
    TABLE_NAME,
    INDEX_NAME
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'your_schema';