ciao!

avrei la necessità di generare un numero random di 7 cifre univoco per una tabella.
al momento ho fatto così:
codice:
SELECT rnd_num
            FROM (
                SELECT FLOOR(RAND() * 9999999) AS rnd_num 
                UNION
                SELECT FLOOR(RAND() * 9999999) AS rnd_num
            ) AS rnd_num_1
            WHERE rnd_num NOT IN (SELECT magazzino_nmat FROM st_magazzino)
            LIMIT 1
però ho visto che mi ha generato anche numeri da 6 cifre, e non dovrebbe farlo.
come dovrei modificare la query secondo voi??