mysql 事件

SHOW VARIABLES LIKE 'event_scheduler';#查看定时器是否开启

SET GLOBAL event_scheduler = 1; # 开启定时器

DROP EVENT
IF EXISTS activity_time_update;

CREATE EVENT activity_time_update ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(CURDATE(), INTERVAL 5 SECOND) ON COMPLETION PRESERVE DO
UPDATE `hnl_user_groups`
LEFT JOIN hnl_goods ON hnl_user_groups.good_id = hnl_goods.id
LEFT JOIN hnl_activity ON hnl_goods.activity_id = hnl_activity.id
SET hnl_user_groups.`status` = 3,
hnl_activity.`status` = 0
WHERE
hnl_activity.endtime < UNIX_TIMESTAMP(NOW())
AND hnl_user_groups.`status` <> 2;

每分钟

DROP EVENT
IF EXISTS activity_time_update;

CREATE EVENT activity_time_update ON SCHEDULE EVERY 1 MINUTE ON COMPLETION PRESERVE DO
UPDATE `hnl_user_groups`
LEFT JOIN hnl_goods ON hnl_user_groups.good_id = hnl_goods.id
LEFT JOIN hnl_activity ON hnl_goods.activity_id = hnl_activity.id
SET hnl_user_groups.`status` = 3,
hnl_activity.`status` = 0
WHERE
hnl_activity.endtime < UNIX_TIMESTAMP(NOW())
AND hnl_user_groups.`status` <> 2;

原文地址:https://www.cnblogs.com/lmaster/p/6812525.html