Executando verificação de segurança...
2

você pode resolver isso com conversão de base.
igual a gente faz de base binaria x decimal x hexadecimal, você pode trabalhar com um "número" de 36 algarismos (os numeros em sí e as letras do alfabeto).

no banco de dados, você continua utilizando os identificador decimal, até porque isso melhorar a indexação.

mas o que você apresenta para o usuario é a conversão desse número.

exemplo:
de 0 a 9, você vai ter 0 a 9 mesmo.
a partir daí que verá a diferença..

o 10 equivale a "a", o 11, "b" e assim por diante.

mas como no seu caso precisará de 6 digitos sempre, pode incluir na conversão uma adição para que id 1 seja equivalente a 100000.
(e quando converter do uid para decimal, não esqueça de subtrair).

assim, não tem risco de duplicar e elimina a necessidade de verificar a disponibilidade no banco de dados.

Carregando publicação patrocinada...