mysql定时任务删除表

mysql定时任务删除表

查看event是否开启 : SHOW VARIABLES LIKE ‘%event_sche%’;
将事件计划开启 : SET GLOBAL event_scheduler = 1;
将事件计划关闭 : SET GLOBAL event_scheduler = 0;
关闭事件任务 : ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;
开启事件任务 : ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;
查看事件任务 : SHOW EVENTS ;
查看存错过程 show procedure status;

– 创建一个存储过程
DROP PROCEDURE IF EXISTS proc_first; – 如果proc_first存在就删除
create procedure proc_first()-- 创建存储过程
begin
– 定义变量
DECLARE tableName VARCHAR(100);
DECLARE isTable VARCHAR(100);
DECLARE sql_text VARCHAR(200);
– 赋值
set tableName = (select CONCAT(DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 31 DAY),’%Y%m%d’),’_action’));
set isTable=(SELECT table_name FROM information_schema.TABLES WHERE table_name =tableName);
– select tableName;
IF isTable is not null THEN
SET sql_text=CONCAT('DROP TABLE ', tableName);
– select sql_text;
SET @sql_text=sql_text;
PREPARE stmt FROM @sql_text;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
end;

– 每天凌晨一点执行

create event if not exists e_test
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)
– on schedule every 10 SECOND
on completion preserve
do call proc_first();

– 开启事件任务

ALTER EVENT e_test ON COMPLETION PRESERVE ENABLE;

– 关闭事件任务
ALTER EVENT e_test ON COMPLETION PRESERVE DISABLE;

– 查看事件是否开启
SHOW EVENTS ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值