如何使用PHP在数据库中重复生成随机数?
我想生成一个5位数字,该数字在数据库内不重复。假设我有一个名为 的表,其字段名为 。
我想生成一个数字,使其不重复出现在此my_number字段中。在此允许前面的零。因此,允许使用像00001这样的数字。另一件事是,它应该在00001到99999之间。我该怎么做?
我可以在这里猜测的一件事是,我可能必须创建一个递归函数以将数字检入表并生成。
回答:
SELECT FLOOR(RAND() * 99999) AS random_numFROM numbers_mst
WHERE "random_num" NOT IN (SELECT my_number FROM numbers_mst)
LIMIT 1
这是做什么的:
- 使用RAND()在0到1之间选择随机数。
- 将其放大为0-99999之间的数字。
- 仅选择表中不存在的那些。
- 仅返回1个结果。
以上是 如何使用PHP在数据库中重复生成随机数? 的全部内容, 来源链接: utcz.com/qa/409757.html