gpt4 book ai didi

php - mysql随机更新一列(快)

转载 作者:行者123 更新时间:2023-11-29 10:09:31 26 4
gpt4 key购买 nike

如何随机更新一个表。所以你给一列一个随机值。并且该列(例如“顶部”)是唯一的。如果您在数字 10 到 20 之间进行选择,并且您有 10 行,那么您就不能有未使用的数字。如果你有

Test table
-Id- -Top-
0 0
1 0
2 0
3 0

随机更改“顶部”列(1 到 4)

Test table
-Id- -Top-
0 4
1 1
2 3
3 2

如果我使用 PHP,它会非常慢。但 MySQL 速度很快。我不使用 SELECT 因为我还需要保存答案。谁能帮我?非常感谢。

Mysql:5.7.22

PHP:7.2.7

我使用 PHP 的 Mysql PDO 库。

最佳答案

如果你只是想给行任意分配一个序号,你可以使用变量:

set @rn := 0;

update t
set top = (@rn := @rn + 1)
order by rand();

分配看起来是连续的,但order by rand()意味着值被插入到随机行上。所有数字都是唯一的,因为它们是连续的。

关于php - mysql随机更新一列(快),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51251514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com