使用给定字符串值集中的随机值更新表

Raj*_*nth 6 mysql random

我想用给定集合中的随机值更新我的表,而不是从另一个表.

例如value1,value2,value3

和MySQL查询应该更新上述值的所有记录.

我正在寻找类似类型的解决方案,但具有来自给定集合的随机字符串值: 具有随机值的更新列

Gor*_*off 14

我会用这个elt()函数:

update table t
    set col = elt(floor(rand()*3) + 1, 'value1', 'value2', 'value3');
Run Code Online (Sandbox Code Playgroud)

elt()从列表中选择一个特定元素. rand()产生随机值.

  • 喜欢这个功能。如果您想要随机填充表格的 18,600 个英国邮政编码非常有用。如果我认为我必须为 18k 值做一个`case, when, then`,我将不得不创建一个 php 脚本或其他东西! (3认同)

Fab*_*tor 9

使用floor(rand()*3),以产生在0,1的随机数,和图2,然后使用case when分配值

update test
set i = (case floor(rand()*3) 
         when 0 then 0 
         when 1 then 10 
         when 2 then 20 
         end);
Run Code Online (Sandbox Code Playgroud)

小提琴


Sad*_*san 5

尝试使用CEILRAND函数

UPDATE `table`
SET `column`=(CASE CEIL(RAND()*3)
              WHEN 1 THEN 'value1'
              WHEN 2 THEN 'value2'
              WHEN 3 THEN 'value3'
          END);
Run Code Online (Sandbox Code Playgroud)