You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过INFORMATION_SCHEMA查找未显式关联约束的唯一索引?

如何通过INFORMATION_SCHEMA查找未关联约束的唯一索引

如果唯一索引是直接通过CREATE UNIQUE INDEX创建的独立索引(而非通过CREATE UNIQUE CONSTRAINT绑定约束生成的索引),这类索引不会出现在table_constraints视图中,常规的约束关联查询自然无法找到它们。

要获取所有唯一索引(包括未绑定到显式约束的),可以借助INFORMATION_SCHEMA.STATISTICS视图——所有唯一索引都会作为统计对象被记录在这里。以下是通用的查询语句:

SELECT 
    s.table_schema,
    s.table_name,
    s.statistic_name AS unique_index_name,
    c.column_name
FROM 
    information_schema.statistics s
JOIN 
    information_schema.columns c 
    ON s.table_schema = c.table_schema 
    AND s.table_name = c.table_name 
    AND s.column_name = c.column_name
WHERE 
    s.is_unique = 'YES'
ORDER BY 
    s.table_schema, s.table_name, s.statistic_name;

针对不同数据库的调整

  • SQL Server:is_unique是bit类型,条件需改为WHERE s.is_unique = 1
  • 部分数据库的STATISTICS视图字段略有差异,可根据实际数据库的语法规范调整筛选条件

内容的提问来源于stack exchange,提问作者WestCoastProjects

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 13:51:48