MySQL的更新与1-3之间的随机数(MySQL UPDATE with random number

2019-07-19 20:57发布

有一个大表,我想补充一点,对于每个记录中随机选择一个数列。 1,2,或3。

有一个困难时期。 有任何想法吗?

Answer 1:

试试这个:

UPDATE tableName SET columnName = FLOOR( 1 + RAND( ) *3 );

从MySQL 文档的RAND

返回0 <= V <1.0的范围内的随机浮点值v。

因此,在上面的查询,这可以通过生成最大值1 + RAND()*3将是3.999999 ,其中当时地板会给3.将发生的最小值RAND()返回0,在这种情况下,这将给出1。



Answer 2:

使用RAND()函数。 它返回的范围内的随机浮点值v 0 <= v < 1.0 。 于该范围内获得随机码整数R i <= R < j ,使用表达式FLOOR(i + RAND() * (j − i + 1)) 例如,为了获得在范围内的随机整数范围1<= R < 3使用下列语句:

UPDATE tableName
SET ColumnName= FLOOR(1 + rand() * 3);

NB: RAND()产生随机浮点值从0到1。



Answer 3:

做这个

UPDATE tableName SET columnName = FLOOR(RAND( ) + RAND( ));


文章来源: MySQL UPDATE with random number between 1-3