我希望在我的表格中附加一列,它是一个从连续列表中随机数=行数。

因此,如果我的表格 999行,那么数字1到999将被随机分配

现在,我想我可以添加一个虚拟的TempRandomColumn = Rand(),按此排序并使用PHP按顺序添加数字。但这意味着999个MySQL语句。

有没有办法使用单个MySQL语句执行此操作?

感谢您的任何指示。

有帮助吗?

解决方案

SET @r := 0;
UPDATE  items2
SET     author_id = (@r := @r + 1)
ORDER BY
        RAND()

其他提示

SET @i=1;
SELECT t.*, @i:=@i+1 as RAND_NUM FROM your_table t ORDER BY RAND();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top