Php Mysql从一组项中选择随机项

Php Mysql从一组项中选择随机项,php,mysql,Php,Mysql,我想用一个随机预定义项更新我的表,该项是我从逗号分隔的列表中选择的,如 UPDATE the_temp SET the_temp.the_temp_status=randStr('x','y','z'); randStr不是一个本机mysql函数,因此不起作用。Php有一个类似的函数echo$items[array_rand($items)] mysql中是否有一个函数可以帮助从列表中选择一个值,如我所解释的?没有,据我所知没有。但是,您不能用宿主语言执行此操作吗?我现在知道的大多数语言都有一

我想用一个随机预定义项更新我的表,该项是我从逗号分隔的列表中选择的,如

UPDATE the_temp SET the_temp.the_temp_status=randStr('x','y','z');
randStr
不是一个本机mysql函数,因此不起作用。Php有一个类似的函数
echo$items[array_rand($items)]


mysql中是否有一个函数可以帮助从列表中选择一个值,如我所解释的?

没有,据我所知没有。但是,您不能用宿主语言执行此操作吗?我现在知道的大多数语言都有一个从列表中选择随机项的功能,如果没有,你可以简单地在列表中生成一个随机索引。

没有,据我所知没有。但是,您不能用宿主语言执行此操作吗?今天我所知道的大多数语言都有一个从列表中选择随机项的函数,如果没有,你可以简单地在列表中生成一个随机索引。

我认为没有mysql函数。您可以为它创建自己的函数,但我认为最简单的方法就是使用PHP生成查询

$randStr = $items[array_rand($items)];
$query = "UPDATE the_temp SET the_temp.the_temp_status=" . $randStr;

我认为它没有mysql函数。您可以为它创建自己的函数,但我认为最简单的方法就是使用PHP生成查询

$randStr = $items[array_rand($items)];
$query = "UPDATE the_temp SET the_temp.the_temp_status=" . $randStr;

你可以使用
ELT
FLOOR
。只要把你想要的放在随机的地方,然后使用这个

   select id, 
  ELT(FLOOR(1 + (RAND() * (50-1))), 'a','b','c','d','e','f','g','h','i','j','k','l','m ','n','o','p','q','r','s','t','u','v','w','x','y', 'z',
 'A','B','C','D','E','F','G','H','I','J','K','L','M ','N','O','P','Q','R','S','T','U','V','W','X','Y', 'Z' ) as ranomdstring
 from table1

对于你的情况,使用这个

   select id, 
     ELT(FLOOR(1 + (RAND() * (4-1))), 'a','b','c') as ranomdstring
   from table1


这里是更新案例

UPDATE the_temp 
SET the_temp.the_temp_status=ELT(FLOOR(1 + (RAND() * (4-1))), 'a','b','c');

你可以使用
ELT
FLOOR
。只要把你想要的放在随机的地方,然后使用这个

   select id, 
  ELT(FLOOR(1 + (RAND() * (50-1))), 'a','b','c','d','e','f','g','h','i','j','k','l','m ','n','o','p','q','r','s','t','u','v','w','x','y', 'z',
 'A','B','C','D','E','F','G','H','I','J','K','L','M ','N','O','P','Q','R','S','T','U','V','W','X','Y', 'Z' ) as ranomdstring
 from table1

对于你的情况,使用这个

   select id, 
     ELT(FLOOR(1 + (RAND() * (4-1))), 'a','b','c') as ranomdstring
   from table1


这里是更新案例

UPDATE the_temp 
SET the_temp.the_temp_status=ELT(FLOOR(1 + (RAND() * (4-1))), 'a','b','c');

我在更新中使用了它,比如
更新临时设置临时。临时状态=ELT(FLOOR(1+(RAND()*(4-1)),'a','b','c')这对我所做的足够好了。谢谢。我在更新中使用了它,比如
更新温度设置温度。温度状态=ELT(地板(1+(RAND()*(4-1)),'a','b','c')这对于我正在做的事情来说已经足够好了。谢谢。