1. 程式人生 > >資料庫定時任務測試

資料庫定時任務測試

#檢視當前是否已開啟事件排程器
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