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

MySQL合并查询需求:同时获取表主键列名与全部列名

合并MySQL查询获取主键与所有列名集合

可以通过条件聚合的方式将两个查询合并为单条语句,一次获取指定表的主键列名和所有列名集合:

SELECT
  GROUP_CONCAT(CASE WHEN COLUMN_KEY = 'PRI' THEN COLUMN_NAME END) AS PK,
  GROUP_CONCAT(COLUMN_NAME ORDER BY ORDINAL_POSITION ASC) AS all_columns
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'default_t' AND TABLE_NAME = 'table1';

逻辑说明

  • 用CASE语句筛选出标记为主键(COLUMN_KEY = 'PRI')的列,再通过GROUP_CONCAT聚合得到主键列名集合
  • 对所有列按ORDINAL_POSITION(字段在表中的顺序)排序后,用GROUP_CONCAT聚合得到完整的列名集合
  • 仅需一次查询INFORMATION_SCHEMA.COLUMNS表,同时返回两个结果字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:00:54