Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como gerar número aleatório sem repetição no banco de dados 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

O que isso faz:
  1. Seleciona um número aleatório entre 0 e 1 usando RAND().
  2. Amplifica isso para ser um número entre 0 e 99999.
  3. Só escolhe aqueles que ainda não existem na tabela.
  4. Retorna apenas 1 resultado.