我希望在我的表格中附加一列,它是一个从连续列表中随机数=行数。
因此,如果我的表格 999行,那么数字1到999将被随机分配。
现在,我想我可以添加一个虚拟的TempRandomColumn = Rand(),按此排序并使用PHP按顺序添加数字。但这意味着999个MySQL语句。
有没有办法使用单个MySQL语句执行此操作?
感谢您的任何指示。
答案 0 :(得分:24)
SET @r := 0;
UPDATE items2
SET author_id = (@r := @r + 1)
ORDER BY
RAND()
答案 1 :(得分:1)
SET @i=1;
SELECT t.*, @i:=@i+1 as RAND_NUM FROM your_table t ORDER BY RAND();