主要是对数据库进行了一个事件的设置,要求每隔一段时间进行数据库中表的更新

CREATE EVENT update_order_status
    ON SCHEDULE EVERY 2 HOUR
    DO
    UPDATE orderitems
    SET ostatus =
            CASE
                WHEN ostatus = 1 AND STR_TO_DATE(usingtime, '%Y-%m-%d %H:%i-%H:%i') < NOW() THEN 5
                WHEN ostatus = 2 AND STR_TO_DATE(usingtime, '%Y-%m-%d %H:%i-%H:%i') < NOW() THEN 6
                WHEN ostatus = 3 AND STR_TO_DATE(usingtime, '%Y-%m-%d %H:%i-%H:%i') < NOW() THEN 7
                ELSE ostatus
                END
    WHERE STR_TO_DATE(usingtime, '%Y-%m-%d %H:%i-%H:%i') < NOW() AND ostatus != 6;  -- 防止已经是6的记录再次被更新;
posted on 2025-02-21 19:34  许七安gyg  阅读(7)  评论(0)    收藏  举报