数据库定时任务测试

#查看当前是否已开启事件调度器
SHOW VARIABLES LIKE 'event_scheduler';

#要想保证能够执行event事件,就必须保证定时器是开启状态,默认为关闭状态
SET GLOBAL event_scheduler =1;
#或者set GLOBAL event_scheduler = ON;

# 选择库
USE TRAVEL_CARD_UAT;

# 如果原来存在该名字的任务计划则先删除
DROP event IF EXISTS SetEVToInvalidStatus_AtNight_0100;

DELIMITER $$
 # 每天晚上01:00
CREATE event SetEVToInvalidStatus_AtNight_0100  
#on schedule every 1 DAY   starts timestamp '2017-04-24 10:00:00'
# 测试使用
ON SCHEDULE EVERY 1 MINUTE STARTS TIMESTAMP '2018-07-20 10:32:00'
DO
BEGIN
    START TRANSACTION;
    SET @timenow=NOW(); #开始事务
    # 表1
    UPDATE hi_play_item SET state=1 WHERE state=0;  
    # 表2
   # update tb_ev_stock_details set FSTATUS=3 where FSTATUS=0 and FVALIDENDDATE < @timenow ;
    COMMIT;  #提交事务

END  $$
DELIMITER ;

# 停止
ALTER EVENT SetEVToInvalidStatus_AtNight_0100 DISABLE;
# 开启
ALTER event SetEVToInvalidStatus_AtNight_0100 ENABLE;

# 查看状态
SELECT * FROM mysql.event

--------------------- 本文来自 weixin_tt 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/weixin_42034166/article/details/82968711?utm_source=copy

猜你喜欢

转载自blog.csdn.net/weixin_42034166/article/details/82968884