MySQL UPDATE与随机名称列表

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

我已经搜索过了,但是似乎找不到能解决该问题的解决方案,当它是一个字符串时,对于整数来说,这很好用:

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

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

该表包含10,000多个值。

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

S329817566 回答:MySQL UPDATE与随机名称列表

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

DEMO ON DBFIDDLE

,

只需尝试此代码

UPDATE tableName
SET columnName =LEFT(UUID(),8);

LEFT(UUID(),8)将产生类似于1a4328bb的内容,始终是一个随机词

本文链接:https://www.f2er.com/3167199.html

大家都在问