MYSQL - 按顺序确定表主键

问题描述 投票:0回答:1

我正在寻找一个查询,它给出了数据库中所有表的主键,与创建它的顺序相同,例如:

创建表a_antennaport

...

主要关键(datedayneidcnsrnsnpn

我需要输出相同顺序的字段:datedayneidcnsrnsnpn

我已经尝试过:

SELECT GROUP_CONCAT(COLUMN_NAME), TABLE_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  TABLE_SCHEMA = schema()
  AND CONSTRAINT_NAME='PRIMARY'
GROUP BY TABLE_NAME;
mysql
1个回答
3
投票

您的查询应该已经有效(事实上,确实如此。经过测试,确定)。只有通过group_concat()中的序号位置排序,才能确保列的顺序正确。

SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY ORDINAL_POSITION), TABLE_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  TABLE_SCHEMA = schema()
  AND CONSTRAINT_NAME='PRIMARY'
GROUP BY TABLE_NAME;
© www.soinside.com 2019 - 2024. All rights reserved.