Meskipun terkesan agak canggung, inilah yang dapat dilakukan untuk mencapai tujuan:
SELECT FLOOR(10000 + RAND() * 89999) AS random_number
FROM table
WHERE random_number NOT IN (SELECT unique_id FROM table)
LIMIT 1
Sederhananya, ini menghasilkan N angka acak, di mana N adalah jumlah baris tabel, menyaring yang sudah ada di tabel, dan membatasi set yang tersisa menjadi satu.
Ini bisa menjadi agak lambat di meja besar. Untuk mempercepat, Anda dapat membuat tampilan dari id unik ini, dan menggunakannya sebagai ganti pernyataan pemilihan bersarang.
EDIT:kutipan yang dihapus