在MYSQL中将随机数插入表中

mis*_*ggy 2 mysql random row count

我试图计算表中的行数并为字段"随机"生成随机数现在这样做:

SELECT COUNT(*) FROM my_table; 
Run Code Online (Sandbox Code Playgroud)

这工作:

   UPDATE my_table SET random = FLOOR(6500 * RAND()) + 1;
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

UPDATE my_table SET random = FLOOR((SELECT COUNT(*) ) * RAND()) + 1;
Run Code Online (Sandbox Code Playgroud)

但是这会将行计为0并添加一行,因此所有字段都具有第一个而不是唯一的随机数.

我所做错的任何想法都会对你有所帮助.

Ser*_*sev 8

那这个呢?

SELECT @cnt := count(*) FROM my_table;
UPDATE my_table SET random = FLOOR(@cnt * RAND()) + 1;
Run Code Online (Sandbox Code Playgroud)

演示:http://sqlfiddle.com/#!2/a896d/4