mysql如何按主键顺序更新_MySQL按主键顺序排序

MySQL通常按插入顺序将数据拉出,这可能是主键,但除此之外,如果你拉出主键列名并按顺序将其放入,那么技术上可以做同样的事情。

SELECT whatever FROM table

ORDER BY

( SELECT `COLUMN_NAME`

FROM `information_schema`.`COLUMNS`

WHERE (`TABLE_SCHEMA` = 'dbName')

AND (`TABLE_NAME` = 'tableName')

AND (`COLUMN_KEY` = 'PRI')

);

对于复合键,您可以使用此

SELECT whatever FROM table

ORDER BY

( SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ')

FROM `information_schema`.`COLUMNS`

WHERE (`TABLE_SCHEMA` = 'dbName')

AND (`TABLE_NAME` = 'tableName')

AND (`COLUMN_KEY` = 'PRI')

);

每个MySQL用户都有权访问这些表,但是

只能看到表中与对象对应的行

用户具有适当的访问权限。在某些情况下(for

例如,中的ROUTINE_DEFINITION列

INFORMATION_SCHEMA.ROUTINES表),用户不足

权限见NULL。这些限制不适用于InnoDB

表;只有PROCESS权限才能看到它们。

相同的权限适用于从中选择信息

INFORMATION_SCHEMA并通过SHOW查看相同的信息

声明。在任何一种情况下,您都必须拥有某个对象的特权

查看有关它的信息。

SETUP:

CREATE TABLE some_stuff (

firstID INT,

secondID INT,

username varchar(55),

PRIMARY KEY (firstID, secondID)

) ;

QUERY:

SELECT GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ')

FROM `information_schema`.`COLUMNS`

WHERE (`TABLE_SCHEMA` = 'dbName')

AND (`TABLE_NAME` = 'some_stuff')

AND (`COLUMN_KEY` = 'PRI');

输出:

+--------------------------------------------+

| GROUP_CONCAT(`COLUMN_NAME` SEPARATOR ', ') |

+--------------------------------------------+

| firstID, secondID |

+--------------------------------------------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值