加密MySQL,这个查询做什么

  • 本文关键字:查询 MySQL 加密 mysql
  • 更新时间 :
  • 英文 :


所以我正在做一些工作,看到了这个。有人能给我解释一下这是干什么的吗?我唯一知道的是Active_Turnaments是一个充满md5哈希值的View。

select iT.TID
from (
SELECT @s := @s + 1 id, TID FROM Active_Tournaments, (SELECT @s := 0) AS s
) as iT
inner join
(
SELECT CEIL(RAND() *
(SELECT MAX(id)
FROM (select *
from (SELECT @t := @t + 1 id
FROM Active_Tournaments,
(SELECT @t := 0) AS s) as iT) as ittt)) as id
) as ceil
on iT.id = ceil.id;

提前感谢

它显示了Active_Turnaments 中的一些随机TID

SELECT @t := @t + 1 id
FROM Active_Tournaments,
(SELECT @t := 0) AS s

这为Active_Turnaments中的每一行提供一个行号

然后得到最高的行号MAX(id(,并将其乘以一个随机数。

使用CEIL,您将再次获得一个整数。

在第一个SELECT 中

(
SELECT @s := @s + 1 id, TID FROM Active_Tournaments, (SELECT @s := 0) AS s
) as iT

再次将行号添加到Active_Turnaments中,并仅选择CEIL中具有相应编号的行(RAND((*MAX(id((。

所以你得到了伪随机TID

我会添加

select DISTINCT iT.TID

即使有大量的行,随机也可以产生相同的数量。

最新更新