Mysql
 sql >> Database >  >> RDS >> Mysql

Come generare un numero casuale senza ripetere nel database usando PHP?

SELECT FLOOR(RAND() * 99999) AS random_num
FROM numbers_mst 
WHERE "random_num" NOT IN (SELECT my_number FROM numbers_mst)
LIMIT 1

A cosa serve:

  1. Seleziona un numero casuale compreso tra 0 e 1 utilizzando RAND().
  2. Amplifica che sia un numero compreso tra 0 e 99999.
  3. Sceglie solo quelli che non esistono già nella tabella.
  4. Restituisce solo 1 risultato.