gpt4 book ai didi

php - 使用mysql生成并插入五位随机数

转载 作者:行者123 更新时间:2023-11-29 23:49:02 26 4
gpt4 key购买 nike

我想知道是否有任何方法可以生成随机的五位数字并使用mysql插入数据库。我知道我可以使用 PHP 来完成此操作,但想知道我是否可以摆脱 PHP 并使用数据库来完成此操作。此外,生成的号码应该与数据库中已存储的号码不同。

以下是其外观示例:

我在 random_no field 中有四个常见的模式字母,即 org1,并且想要附加其他 5 个随机字母,如下例所示:

+-------+-----------+-----------+--------------------------------------------+
| id | title | phone | ABN | Random No |
+-------+-----------+----------+---------------------------------------------
| 1 | title1 | 4765 5678 | 214-444-1234 | org123456 |
| 2 | title2 | 4444 4444 | 555-111-1234 | org109876 |
| 3 | title3 | 3333 3333 | 214-222-1234 | org187654 |
| 4 | title4 | 1111 1111 | 817-333-1234 | org156432 |
| 5 | title5 | 2222 2222 | 214-555-1234 | org177654 |
+-------+-----------+-----------+--------------------------------------------

任何帮助将不胜感激。

最佳答案

现在不能保证不会出现重复...但是这是获取两个随机数并将它们乘以不同的数字,因此不太可能他们会获得随机数

UPDATE table t,
( SELECT id, LPAD(FLOOR(7 + (RAND() * 50) * (RAND() * 333)), 5, 0) as join_num
FROM table
)t1
SET t.random_no = CONCAT(t.random_no, t1.join_num)
WHERE t.id = t1.id;

从这里我建议您执行此操作..更新表后返回并运行此查询

SELECT id FROM table
GROUP BY random_no
HAVING COUNT(*) > 1;

如果返回任何结果,那么 id 将需要一个不同的随机数,一旦知道是否有任何重复,您就可以在任何重复的位置更改它

更新查询的详细信息...

更新表别名t。
从表中选择 id,然后选择随机数别名 t1。
将数字和列逐行连接起来..
其中 id 相等...为每一行获取不同的数字。

LPAD 是一个零填充,这样如果数字小于 5 个空格,它将用 0 填充,然后您必须使用 FLOOR()使用 RAND() 获取随机数。
希望这有帮助!

关于php - 使用mysql生成并插入五位随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25755462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com