MYSQL - 按顺序确定表主键

时间:2017-12-28 11:20:11

标签: mysql

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

CREATE TABLE a_antennaport

...

PRIMARY KEY(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;

1 个答案:

答案 0 :(得分: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;