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

sof*_*kid 1 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 ;
Run Code Online (Sandbox Code Playgroud)

希望有人可以帮忙。全面质量管理

Ani*_*non 5

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

CREATE EVENT `event_name` 
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE] 
[ENABLE | DISABLE | DISABLE ON SLAVE]
DO BEGIN
    -- event body
END;
Run Code Online (Sandbox Code Playgroud)

在你的情况下只需使用:

CREATE EVENT create_ledger
    ON SCHEDULE EVERY 1 YEAR
    ...
Run Code Online (Sandbox Code Playgroud)

您可以设置 STARTS 和 ENDS :

STARTS '2016-01-01 00:00:00'
ENDS '2031-01-01 00:00:00'
Run Code Online (Sandbox Code Playgroud)