Jump to content


Photo

Auto_Decrementar Campo No Mysql


  • Faça o login para participar
1 reply to this topic

#1 Parenti

Parenti

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Masculino
  • Localidade:Cascavel-Pr

Posted 07/02/2010, 20:56

Olá, eu tenho um campo id no mysql que é auto_increment
gostária de saber se existe uma forma de fazer um auto_decrement no mysql????

digamos assim, eu difino: 10000 e a cada nova geração do campo "ID" ele vai auto decrementar para 9999, 9998 e assim por diante.

desde já agradeço a atenção!

#2 Flechaus

Flechaus

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:RJ - Brasil
  • Interesses:Troca de informações sobre linguagens de programação e banco de dados.

Posted 09/04/2010, 23:43

Olá, eu tenho um campo id no mysql que é auto_increment
gostária de saber se existe uma forma de fazer um auto_decrement no mysql????

digamos assim, eu difino: 10000 e a cada nova geração do campo "ID" ele vai auto decrementar para 9999, 9998 e assim por diante.

desde já agradeço a atenção!


Olá Parenti...
Creio que não exista um antodecrement no MySQL, porém, tem como vc "emular" este recurso em seu sistema. Basta um pouco de imaginação.
Uma idéia:
Crie uma tabela que somente conterá um campo do tipo numérico, e este campo será seu limite máximo de "autodecrement".
Esta tabela pode se chamar "limite" somente conterá um campo de nome por exemplo "codigo_limite", e somente um registro.
Vc irá consultar esta tabela sempre que for inserir um registro baseado neste "limite de autodecrement".
Vc utilizará uma outra tabela para inserir registros. Exemplo de nome da tabela: "promocional"
Vc escreverá uma função para pegar o valor do campo "codigo_limite" da tabela "limite", e em seguida, irá atualizar este valor numérico em -1.
Desta forma, serão duas consultas SQL a serem executadas cada vez que esta função for executada. Uma de seleção e outra de atualização.
Exemplo:
select codigo_limite from limite;
update limite set codigo_limite = codigo_limite - 1;
Desta forma, vc pegará o valor atual do campo codigo_limite da tabela limite, e em seguida, atualizará o valor do campo para uma futura chamada a esta função.
E vc precisará adicionar uma verificação para conferir se o campo "codigo_limite" chegará a zero.
Se chegar, vc emite uma mensagem ao usuário, exemplo: "Acabaram as promoções disponíveis!"
Espero que tenha conseguido te ajudar.
Boa sorte.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq