Mysql中的事件仅在工作日运行

时间:2014-03-15 12:10:28

标签: mysql events

我想在mysql中创建一个仅在工作日运行并在表中插入一行的事件。我能够创建一个每天运行的偶数或在n天之后运行,但我无法做我打算做的事情。即仅限工作日的活动。

任何帮助都将受到高度赞赏。

提前完成

2 个答案:

答案 0 :(得分:0)

您可以每天运行该活动,如果它不是具有if条件的工作日,则不执行任何操作

delimiter //
CREATE EVENT IF NOT EXISTS your_event
ON SCHEDULE EVERY 1 DAY ON COMPLETION PRESERVE ENABLE
DO
    if DAYOFWEEK(curdate()) between 2 and 6 then
        Delete from attendance 
        where Att_mnth=Month(CurDate()) 
        and Att_day=DayOfMonth(CurDate());
    end if;
//

答案 1 :(得分:0)

您应该使用DAYOFWEEK(date) MySQL函数:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek

如果DAYOFWEEK(date)返回7或1(星期六或星期日),则应跳过该脚本。