我想在mysql中创建一个仅在工作日运行的事件,并在表中插入一行。我可以创建一个每天或n天后运行的even,但我无法做我想做的事情。即只在平日进行。
任何帮助都将是非常感激的。
提前致谢
您可以每天运行事件,如果不是工作日且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;
//
你应该使用DAYOFWEEK(date)
MySQL函数:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek
如果DAYOFWEEK(date)
返回7或1(周六或周日),那么您应该跳过脚本。