创建MySQL事件并运行一年中的第一天

时间:2016-05-20 04:10:58

标签: mysql events

我在MySQL事件上遇到了问题。我希望这个活动每年的第一天开始。目前我的活动将在每个月举行。这是我的活动脚本。

DELIMITER $$
CREATE EVENT create_ledger
ON SCHEDULE EVERY '1' MONTH
STARTS '2016-05-20 11:33:01'
 DO 
  BEGIN
    insert into ledger SET ledger_year= YEAR(CURDATE());
  END$$
DELIMITER ;
希望有人可以提供帮助。 TQVM

1 个答案:

答案 0 :(得分:4)

假设您拥有创建事件的MySQL权限,基本语法为:

CREATE EVENT `event_name` 
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE] 
[ENABLE | DISABLE | DISABLE ON SLAVE]
DO BEGIN
    -- event body
END;

在你的情况下,只需使用:

CREATE EVENT create_ledger
    ON SCHEDULE EVERY 1 YEAR
    ...

您可以设置STARTS&结束:

STARTS '2016-01-01 00:00:00'
ENDS '2031-01-01 00:00:00'