Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) IDs automáticos em sequência


The B3S

Pergunta

Gostaria a cada cadastro em uma tabela gerasse um id que partisse do 1, a cada cadastro, em sequencia.

ex: 1° cadastro o id retornasse 1 o 2° cadastro o id retornasse 2 e assim por diante.

tem um problema, gostaria que quando eu apagasse um registro o id que fou apagado fosse gerado novamente.

ex: um cadastro do id 360 foi excluido, gostaria que o proximo cadastro fosse 360 para que fique em sequencia sem pular numeros.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde

então, para implementar algo assim, você precisaria fazer uma mudança simples no seu banco, por exemplo, ao invés de excluir um usuário, você atualiza um campo para ver se ele está ativo ou inativo, daí, qd for incluir um usuário, você ve o número mínimo que um usuário inativo tem... deixa eu colocar em código

ao excluir um usuário, apenas desative-o

update usuario set ativo = 'F' where idUsuario = 360
mesmo excluindo vários usuários, a consulta abaixo irá preenchendo no id mais baixo
update usuario set
    nomeUsuario = 'nome',
    enderecoUsuario = 'endereco'
    where idUsuario = (select min(idUsuario) from usuario where ativo = 'F')

antes de fazer esse código, você deve fazer um controle para saber se existe usuários inativos ou não, se não tiver usuários inativos, você deve fazer um insert como sempre fez, não esquecendo de setar o campo ativo como 'T', e quando for fazer um select para buscar os usuários, colocar uma cláusula no where retornando os usuários com ativo = 'T'

qualquer coisa falaê

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde

então, para implementar algo assim, você precisaria fazer uma mudança simples no seu banco, por exemplo, ao invés de excluir um usuário, você atualiza um campo para ver se ele está ativo ou inativo, daí, qd for incluir um usuário, você ve o número mínimo que um usuário inativo tem... deixa eu colocar em código

ao excluir um usuário, apenas desative-o

update usuario set ativo = 'F' where idUsuario = 360
mesmo excluindo vários usuários, a consulta abaixo irá preenchendo no id mais baixo
update usuario set
    nomeUsuario = 'nome',
    enderecoUsuario = 'endereco'
    where idUsuario = (select min(idUsuario) from usuario where ativo = 'F')

antes de fazer esse código, você deve fazer um controle para saber se existe usuários inativos ou não, se não tiver usuários inativos, você deve fazer um insert como sempre fez, não esquecendo de setar o campo ativo como 'T', e quando for fazer um select para buscar os usuários, colocar uma cláusula no where retornando os usuários com ativo = 'T'

qualquer coisa falaê

Ok, deu certo , isto me ajudou muito. Obrigado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...