【发布时间】:2021-12-15 18:43:21
【问题描述】:
我正在尝试使用 current_timestamp 通过 MySQL 调度程序配置一次性事件。
查询如下(第二个数字可能不同)
CREATE EVENT event_name ON SCHEDULE AT CURRENT_TIMESTAMP + 30
DO UPDATE test_table SET value = 0 WHERE id = 1;
它有时有效,但我经常遇到以下错误。
#1525 - Incorrect AT value: '20211031204269'
似乎问题在于秒被直接添加到 current_timestamp 并因此在此示例中将“68”作为秒值
MySQL 有没有办法使用CURRENT_TIMESTAMP [+ seconds] 表示法正确创建时间戳(通过在秒大于 60 时增加分钟,分钟、小时、天......)还是我必须通过我自己?
【问题讨论】:
-
您必须将 CURRENT_TIMESTAMP + 30 更改为 CURRENT_TIMESTAMP + INTERVAL 30 SEC 请参阅:mariadb.com/kb/en/date-and-time-units 单位