您的位置:首页 > 博客中心 > 数据库 >

Mysql编写定时任务事件

时间:2022-03-10 17:10

原文:Mysql编写定时任务事件

场景:

  例如:某系统,用户每天只能拥有一次的抽奖机会,抽过后当天就不可再抽,但是过了24:00点后用户就重新拥有一次抽奖机会。像这种需要数据库定时对某个字段进行更新操作的任务,完全可以通过数据库本身的事件机制进行操作,而服务器端也不需要用额外的代码进行这种监控定时的操作。

Mysql:

  本文讨论的是Mysql数据库,Event Scheduler事件调度器应该是在Mysql5.1引入的,所以使用定时任务调度时,请注意查看你的Mysql版本。

创建事件调度的语法:

gxlsystem.com,布布扣

以上为创建一个存储过程update_count,执行对tb_count中count字段的更新。任务中代码中do字段后则改为(call update_count() $$)。当然你可能会更复杂的需求。

添加完event后,还需要查看event_scheduler是否开启,否则添加的event不会执行,移步下面的代码:

/*查看event是否开启*/
SHOW VARIABLES LIKE ‘%sche%‘;
/*开启event*/
SET GLOBAL event_scheduler=1;

查看和关闭你所添加的event:

 

/*关闭 event */
ALTER event update_count ON COMPLETION preSERVE DISABLE;

/*启用 event */
ALTER event update_count ON COMPLETION preSERVE ENABLE;

 更多MySql语法可查看:http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html

Mysql编写定时任务事件,布布扣,bubuko.com

热门排行

今日推荐

热门手游