如何使用PHP在数据库中重复生成随机数?

我想生成一个5位数字,该数字在数据库内不重复。假设我有一个名为 的表,其字段名为 。

我想生成一个数字,使其不重复出现在此my_number字段中。在此允许前面的零。因此,允许使用像00001这样的数字。另一件事是,它应该在00001到99999之间。我该怎么做?

我可以在这里猜测的一件事是,我可能必须创建一个递归函数以将数字检入表并生成。

回答:

SELECT FLOOR(RAND() * 99999) AS random_num

FROM numbers_mst

WHERE "random_num" NOT IN (SELECT my_number FROM numbers_mst)

LIMIT 1

这是做什么的:

  1. 使用RAND()在0到1之间选择随机数。
  2. 将其放大为0-99999之间的数字。
  3. 仅选择表中不存在的那些。
  4. 仅返回1个结果。

以上是 如何使用PHP在数据库中重复生成随机数? 的全部内容, 来源链接: utcz.com/qa/409757.html

回到顶部