我想编写一个 php 函数,它将创建 50000 个长度为 4 的唯一随机字母数字字符串并将其插入到数据库表中。我该怎么做?
最佳答案
for($i = 0; $i < 50000; $i++)
$pdo->exec("INSERT INTO table_x (the_string) VALUES (UUID());");
记录在案here
编辑:替代插入方式(去除破折号)
for($i = 0; $i < 50000; $i++)
$pdo->exec("INSERT INTO table_x (the_string) VALUES (REPLACE(UUID(), '-', ''));");
编辑值得一提:
在一台服务器中,UUID 编码地理位置和精确时间,以及 sha-1 随机值。
因此冲突的可能性只存在于单独的服务器中(例如合并它们的数据集时)。
只要我们不溢出地理/时间段的容量,就可以保证不会在本地创建重复值。
作为优化问题(数据库读取速度),将 UUID 转换为 binary(16) 字段(并使表中的列匹配该数据类型)更快、更紧凑。
关于php - 生成唯一的随机字符串并插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10676493/