Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ronaldo_Marcos

Trigger para incremento com Select

Recommended Posts

Boa noite, eu tenho um sistema de notícias e atualizo meu campo "contador" de acessos recuperando e somando 1 a cada acesso, pensei se não é possível fazer um incremento a cada acesso diretamente no BD, isso tornaria-o mais leve? e se possível, poderia ser usando um trigger? não imagino como usar trigger com select para isso, apenas com update, delete etc... Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você está fazendo atualmente?

 

você pode fazer com um único UPDATE, sem precisar de fazer um SELECT antes.

 

UPDATE table SET count = count + 1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian Bruno :

 

 

Creio que ele queira que a cada SELECT em uma tabela seja logado este acesso.

 

Triggers não existem para SELECT , talvez se consiga isto por uma operação de AUDIT (não sei se Mysql suporta audit de select) , mas isto pode ficar pesado.

 

O mais simples seria fazer isto na aplicação (via update de uma outra tabela totalizadora) como disse você disse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, quando a notícia é aberta eu já busco o 'contador' depois faço um update incrementando +1 ao campo. Nesse caso eu acesso o BD duas vezes, por isso pensei talvez em fazer algo já no select.

Mas como você disse Motta não existem triggers para Select, perguntei porque talvez eu estivesse errado e não encontrei nada similar...

Resumindo: Não existe um método direto no Mysql usando apenas um único acesso select, certo? melhor deixar do modo que já faço. Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.