-- 获取所有表或指定表的主键
SELECT
O.CONSTRAINT_SCHEMA,
O.TABLE_NAME,
O.COLUMN_NAME
FROM
(
SELECT
-- T.TABLE_COMMENT, -- 表注释
K.CONSTRAINT_SCHEMA,
K.CONSTRAINT_NAME,-- 约束名
K.TABLE_SCHEMA,-- 拥有者
K.TABLE_NAME,-- 子表名称
K.COLUMN_NAME,-- 子表字段
K.REFERENCED_TABLE_SCHEMA,
K.REFERENCED_TABLE_NAME,-- 父表名称
K.REFERENCED_COLUMN_NAME,-- 父表字段
R.UPDATE_RULE,-- 约束更新规则
R.DELETE_RULE,-- 约束删除规则
R.UNIQUE_CONSTRAINT_NAME
FROM
information_schema.KEY_COLUMN_USAGE K
LEFT JOIN information_schema.REFERENTIAL_CONSTRAINTS R ON K.CONSTRAINT_NAME = R.CONSTRAINT_NAME
) AS O
INNER JOIN Information_schema.TABLE_CONSTRAINTS T ON O.Table_Name = T.TABLE_NAME
AND T.CONSTRAINT_NAME = O.CONSTRAINT_NAME
WHERE
O.CONSTRAINT_SCHEMA != 'mysql'
AND O.CONSTRAINT_SCHEMA = database()
AND O.TABLE_NAME = 'sys_group'
GROUP BY
O.COLUMN_NAME;
mysql 获取所有表的主键字段和约束字段
最新推荐文章于 2022-07-22 18:03:19 发布
这是一个SQL查询,用于从information_schema获取当前数据库中指定表(如'sys_group')的所有主键信息,包括约束名、表名和列名。查询结果忽略'mysql'系统库,并且只包含当前数据库的表。
摘要由CSDN通过智能技术生成