Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como excluir automaticamente a cada x minutos?


Você pode usar o Agendador de eventos do MySQL.

Pré-requisito:

Você tem que ter event_scheduler ON em seu servidor mysql.

Verifique se o agendador de eventos está ON ou OFF

SELECT @@event_scheduler;

Para ativar o event_scheduler ON execute a seguinte consulta:

SET GLOBAL event_scheduler = ON;

Observação: Se você reiniciar o MYSQL Server então o status do agendador de eventos será redefinido, a menos que o seguinte seja escrito no arquivo de configuração.

Para Windows: em meu.ini arquivo escreva isso em [mysqld] seção
[mysqld]
event_scheduler=on

Para Linux: em meu.cnf Arquivo
[mysqld]
event_scheduler=on

Evento:

O evento a seguir excluirá os dados da tabela chamada tablename .
CREATE 
EVENT `deleteEvent`
ON SCHEDULE EVERY 2 MINUTE STARTS '2016-03-23 00:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
DELETE FROM tablename;

O evento será iniciado pela primeira vez em '2016-03-23 00:00:00' e depois disso o evento será agendado a cada 2 minutos e irá deletar os dados da sua tabela.

Você pode usar Truncate em vez de DELETE .

TRUNCATE vs DELETE>