我需要使用随机名称列表更新数据库中的列。例如,使用从10个或更少的列表中选择的随机名称更新3000行。
我已经搜索了一下,但是似乎找不到能解决该问题的解决方案(对于整数,它可以正常工作):
UPDATE tableName
SET columnName = FLOOR( 1 + RAND( ) *10 );
+--------+-------------+--------------+
| number | customer_id | product_name |
+--------+-------------+-------
该表包含10,000多个值。
我需要使用约10个名称列表中的随机值更新表product_name列。
将ELT与RAND()结合使用可获取随机字符串
with cte as (
select *, FLOOR(RAND()*(10-1+1))+1 as n
from mytable)
update mytable m join cte c on c.id=m.id
set m.mycolumn = ELT(c.n, 'Roger','Steve','Hulk','Jill','Thor','John','Arun','Mike','Bella','Mark') -- keep your 10names here
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句