Ir para conteúdo

POWERED BY:

Arquivado

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

demondark

Mysql Count

Recommended Posts

Galera nunca fiz nada programando dentro do MySql.

Sempre usei php para interpretar, inserir consultar tudo.

 

Mas a um bom tempo sei que tem como fazer as tabelas executarem rotinas.

 

Minha duvida écomo?

 

O que preciso acredito ser facil.

 

Tenho 1 campo chamado COUNT dentro de 1 tabela.

 

Preciso que neste campo estejá o numero de registro de outra tabela. Que aumenta e diminui o dia todo.

 

Fiz 1 cron no php para fazer isso mas a tabela agora passa de 20 mil registro e ta me dando problemas.

Tem uma forma do proprio mysql atualizar ela?

 

 

 

 

 

 

 

 

Não é o caso mas vou dar 1 exemplo.

 

Tabela usuario

NOME | SENHA | POST

 

 

Tabela POST tem 100 registros.

 

A cada 5 min ou menos o sistema verifica quantos posts tem o usuario e atualiza o campo post. Tem como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É muito fácil...

 

Só tens de criar dois triggers.

 

Triggers são "funçoes" que são activadas através de mudanças (SELECT, INSERT, DELETE, UPDATE) na base de dados

 

Você terá que criar um trigger para o DELETE e outro para o INSERT...

 

Este trigger incrementa quando e adicionado um registo:

DELIMITER $$
DROP TRIGGER IF EXISTS incrementa $$
CREATE TRIGGER incrementa
BEFORE INSERT ON "Sua tabela que contem o COUNT"
FOR EACH ROW

BEGIN
   UPDATE "Sua tabela que contem o COUNT"
   SET COUNT = COUNT + 1
END $$
DELIMITER ;

 

 

Este trigger decrementa quando e eliminado um registo:

DELIMITER $$
DROP TRIGGER IF EXISTS incrementa $$
CREATE TRIGGER incrementa
BEFORE DELETE ON "Sua tabela que contem o COUNT"
FOR EACH ROW

BEGIN
   UPDATE "Sua tabela que contem o COUNT"
   SET COUNT = COUNT - 1
END $$
DELIMITER ;

 

 

 

Mais informação:

Clique aqui

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.