带有随机名称列表的MySQL UPDATE

亚历克斯·卡莫(Alex Kamau)

我需要使用随机名称列表更新数据库中的列。例如,使用从10个或更少的列表中选择的随机名称更新3000行。

我已经搜索了一下,但是似乎找不到能解决该问题的解决方案(对于整数,它可以正常工作):

UPDATE tableName 
SET columnName = FLOOR( 1 + RAND( ) *10 );

+--------+-------------+--------------+
| number | customer_id | product_name |
+--------+-------------+-------

该表包含10,000多个值。

我需要使用约10个名称列表中的随机值更新表product_name列。

阿伦·帕拉尼萨米(Arun Palanisamy)

ELTRAND()结合使用可获取随机字符串

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章