我想生成一个5位数字,该数字在数据库内不重复。
假设我有一个名为numbers_mst 的表,其字段名为 my_number 。
我想生成一个数字,使其不重复出现在此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
这是做什么的:
关于mysql - 如何使用PHP在数据库中重复生成随机数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11680025/