首页 数据库 mysql 正文

MySql定时任务event

long 2021-01-05 15:58 mysql 人气139

MySql内部可以执行定时任务,类似linux的crontab,比crontab更好的是定时可以精确到秒级。

需要MySql开启任务服务,查看是否开启用下面的语句:

SHOW VARIABLES LIKE 'event_scheduler'

开启用下面的语句:

SET GLOBAL event_scheduler = 1;

关闭用下面的语句:

SET GLOBAL event_scheduler = 0;

语法:

CREATE EVENT [IFNOT EXISTS] event_name
   ONSCHEDULE schedule
   [ONCOMPLETION [NOT] PRESERVE]
   [ENABLE | DISABLE]
   [COMMENT 'comment']
   DO sql_statement;

schedule:
   AT TIMESTAMP [+ INTERVAL INTERVAL]
   | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]
  
  INTERVAL:
   quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
   WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
   DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

比如每隔一分钟执行插入当前时间戳操作:

CREATE EVENT EVENT_NAME
ON SCHEDULE EVERY 1 MINUTE
DO insert into table_name values(unix_timestamp(now());

公众号
小程序
网站统计
  • 文章总数:249
  • 总点击量:34984
  • 评论总数:27
  • 网站运行:445 天