有一个大表,我想补充一点,对于每个记录中随机选择一个数列。 1,2,或3。
有一个困难时期。 有任何想法吗?
有一个大表,我想补充一点,对于每个记录中随机选择一个数列。 1,2,或3。
有一个困难时期。 有任何想法吗?
试试这个:
UPDATE tableName SET columnName = FLOOR( 1 + RAND( ) *3 );
从MySQL 文档的RAND
:
返回0 <= V <1.0的范围内的随机浮点值v。
因此,在上面的查询,这可以通过生成最大值1 + RAND()*3
将是3.999999
,其中当时地板会给3.将发生的最小值RAND()
返回0,在这种情况下,这将给出1。
使用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。
做这个
UPDATE tableName SET columnName = FLOOR(RAND( ) + RAND( ));