我想用给定集合中的随机值更新我的表,而不是从另一个表.
例如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()产生随机值.
使用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)
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)