Hoewel het wat onhandig lijkt, is dit wat je kunt doen om het doel te bereiken:
SELECT FLOOR(10000 + RAND() * 89999) AS random_number
FROM table
WHERE random_number NOT IN (SELECT unique_id FROM table)
LIMIT 1
Simpel gezegd, het genereert N willekeurige getallen, waarbij N het aantal tabelrijen is, filtert de rijen die al in de tabel staan eruit en beperkt de resterende set tot één.
Het kan wat traag zijn op grote tafels. Om de zaken te versnellen, kunt u een weergave maken van deze unieke id's en deze gebruiken in plaats van een geneste select-instructie.
EDIT:aanhalingstekens verwijderd