MYSQL クエリを使用して 0 から 999 までの乱数をコードとして取得したかったのですが、そのクエリを試してみましたが、0 から 999 までの値の条件の入力を終了しても、常に重複したコード、奇妙な動作が発生したため、PHP を使用することになりました。
私が今使用している手順:
0 から 999 が入力された配列を作成します。将来、さらにコードが必要になった場合は 0 から 9999 を使用します。
$ary_1 = 配列(0, 1, 2, ...., 999)
テーブル内のすべてのコードを入力した別の配列を作成します。
$ary_2 = 配列(4, 5, 985, 963, 589)
array_diff を使用して結果の配列を取得します。
$ary_3 = array_diff($ary_1, $ary_2)
結果のarray_diffからarray_randを使用して配列キーを取得します。
$new_code_key = array_rand($ary_3, 1)
そのキーを使用してコードを取得し、MYSQL クエリを作成します。
$ary_3[$new_code_key]
そのキーを新しいコード配列から設定解除して、プロセスを高速化し、別の array_rand キーを取得して後で設定解除するだけです。
unset($ary_3[$new_code_key])