Jump to content
Fórum Script Brasil
  • 0

(Resolvido) IDs automáticos em sequência


The B3S

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...