You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL使用CURRENT_TIMESTAMP创建调度事件出现Incorrect AT值错误如何解决

MySQL事件调度器时间加法报错解决方案

问题根源

CURRENT_TIMESTAMP直接与数字执行加法运算时,MySQL会先将其转换为YYYYMMDDHHMMSS格式的整数再做算术计算,而非按照时间间隔逻辑运算,因此秒位数值超过60时会生成非法时间值,触发#1525错误。

可行解决方案

两种写法均支持自动时间进位,无需手动处理时间格式:

  • 方案1:使用INTERVAL时间间隔语法(官方推荐)
    直接指定添加的时间单位,MySQL会自动完成分、时、天等各级单位的进位计算,写法如下:
    CREATE EVENT event_name ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 30 SECOND
    DO UPDATE test_table SET value = 0 WHERE id = 1;
    
    动态调整秒数时只需替换30为对应数值即可,无需修改其他逻辑。
  • 方案2:使用Unix时间戳转换实现
    先将当前时间转换为秒级Unix时间戳,加法运算后再转回MySQL支持的时间格式:
    CREATE EVENT event_name ON SCHEDULE AT FROM_UNIXTIME(UNIX_TIMESTAMP() + 30)
    DO UPDATE test_table SET value = 0 WHERE id = 1;
    

内容的提问来源于stack exchange,提问作者Arkaik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:15:04