MySQL如何创建每天0点自动运行的触发器?
有一条SQL语句,每天都想在MySQL所在服务器时间00:00:00的时候自动运行,应该是创建触发器吧?如何才能实现呢?...
有一条SQL语句,每天都想在MySQL所在服务器时间00:00:00的时候自动运行,应该是创建触发器吧?如何才能实现呢?
展开
3个回答
展开全部
1、触发器是update后激发的,我想你需要的是mysql计划任务。
2、计划任务状态
show variables like '%event%';
3、使用下列的任意一句开启计划任务:
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1; -- 0代表关闭
SET @@global.event_scheduler = 1;
4、创建event语法
help create event
5、实例
实例0:
每5分钟删除sms表上面ybmid为空白且createdate距现时间超过5分钟的数据。
USE test;
CREATE EVENT event_delnull
ON SCHEDULE
EVERY 5 MINUTE STARTS '2012-01-01 00:00:00' ENDS '2012-12-31 00:00:00'
DO
DELETE FROM sms WHERE ybmid='' AND TIMEDIFF(SYSDATE(),createdate)>'00:05:00';
2、计划任务状态
show variables like '%event%';
3、使用下列的任意一句开启计划任务:
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1; -- 0代表关闭
SET @@global.event_scheduler = 1;
4、创建event语法
help create event
5、实例
实例0:
每5分钟删除sms表上面ybmid为空白且createdate距现时间超过5分钟的数据。
USE test;
CREATE EVENT event_delnull
ON SCHEDULE
EVERY 5 MINUTE STARTS '2012-01-01 00:00:00' ENDS '2012-12-31 00:00:00'
DO
DELETE FROM sms WHERE ybmid='' AND TIMEDIFF(SYSDATE(),createdate)>'00:05:00';
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,触发器不是用来监听时间的,触发器可以用来监听增、删、改操作
你想在每天某一个时刻执行一句sql,在程序中写个线程不就可以了吗?
变通着来,不一定非要在数据库中实现。数据库中的东西多了就不好维护了。
你想在每天某一个时刻执行一句sql,在程序中写个线程不就可以了吗?
变通着来,不一定非要在数据库中实现。数据库中的东西多了就不好维护了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询