やや厄介に思えますが、これが目標を達成するためにできることです:
SELECT FLOOR(10000 + RAND() * 89999) AS random_number
FROM table
WHERE random_number NOT IN (SELECT unique_id FROM table)
LIMIT 1
簡単に言えば、N個のランダムな数値を生成します。ここで、Nはテーブルの行の数であり、テーブルにすでに存在するものを除外し、残りのセットを1つに制限します。
大きなテーブルでは多少遅くなる可能性があります。処理を高速化するために、これらの一意のIDからビューを作成し、ネストされたselectステートメントの代わりにそれを使用できます。
編集:引用符を削除