查找唯一索引包含,但字段本身允许为空的情况

通过执行下面的语句实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT
kcu.TABLE_NAME,
kcu.COLUMN_NAME,
kcu.CONSTRAINT_NAME,
tc.CONSTRAINT_TYPE,
c.IS_NULLABLE
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc ON kcu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
AND kcu.TABLE_SCHEMA = tc.TABLE_SCHEMA
JOIN INFORMATION_SCHEMA.COLUMNS c ON kcu.TABLE_NAME = c.TABLE_NAME
AND kcu.COLUMN_NAME = c.COLUMN_NAME
AND kcu.TABLE_SCHEMA = c.TABLE_SCHEMA
WHERE
tc.CONSTRAINT_TYPE = 'UNIQUE'
AND kcu.TABLE_SCHEMA = DATABASE()
AND c.IS_NULLABLE = 'YES'
ORDER BY
kcu.TABLE_NAME,
kcu.CONSTRAINT_NAME;

查找唯一索引包含,但字段本身允许为空的情况
https://itxiaopang.github.io/p/f8050227f541412b8d6d6d10f9cf525e/
作者
挨踢小胖
发布于
2026年1月8日
许可协议