如何从一个集合中随机分配值到一个字段?

时间:2012-09-17 11:23:15

标签: mysql sql-update

我的表格个人资料中有两列ideducation。现在我想随机分配教育字段值,这些值可以在此集('HA','BA,'CA' and 'DA')中。我怎么能在一个命令中执行此操作。 id是此表的主键。

1 个答案:

答案 0 :(得分:4)

正如ELT(N,str1,str2,str3,…)所述:

  

如果str1N = 1 str2,则返回N = 2,等等。

正如RAND()所述:

  

要获取 R 范围内的随机整数 i <= R < j ,请使用表达式FLOOR(i + RAND() * (j – i))

因此:

UPDATE my_table SET education = ELT(FLOOR(1 + RAND() * 4), 'HA', 'BA', 'CA', 'DA')

sqlfiddle上查看。