有一个大表,我想添加一个列,每列都有一个随机选择的数字.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))
。例如,要获取range范围内的随机整数1<= R < 3
,请使用以下语句:
UPDATE tableName SET ColumnName= FLOOR(1 + rand() * 3);
注意: RAND()产生从0到1的随机浮点值。