Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个 1-20,000 之间的数字列表。我希望将所有这些数字随机插入一个表中,并且只插入一次。我怎样才能做到这一点?
例如对于 1-10,它们将按以下顺序插入,而不是 1、2、3、4
9 3 5 1 2 4 6 ..等
使用shuffle()
$arr = <numbers 1-20K> shuffle($arr); <code to insert into sql>
您可以使用 Knuths 或 Floyds 算法来实现这一点,然后将所有数字存储在数据库中。阅读此 SO 问题以了解两种实现:
C编程语言中整数数组中的唯一随机数
一个提示,确保不要将每个生成的数字都保存到数据库中,您应该批量插入。