0

1 から 20,000 までの数字のリストがあります。これらの数字をすべてテーブルにランダムに 1 回だけ挿入したいと考えています。どうすればこれを達成できますか?

たとえば、1 ~ 10 の場合、1、2、3、4 ではなく、以下の順序で挿入されます。

9 3 5 1 2 4 6 など

4

2 に答える 2

0

shuffle()を使う

$arr = <numbers 1-20K>

shuffle($arr);

<code to insert into sql>
于 2012-05-06T08:06:04.147 に答える
0

Knuths または Floyds アルゴリズムを使用してこれを達成し、すべての数値をデータベースに保存できます。両方の実装について、この SO の質問を読んでください。

C プログラミング言語の整数配列内の一意の乱数

ヒントの 1 つは、生成された数値ごとにデータベースに保存しないように注意してください。挿入をバッチ処理する必要があります。

于 2012-05-06T08:13:11.870 に答える