开发者社区> 问答> 正文

mysql计划任务每天定时执行,如何写sql语句

我想实现每天凌晨定时根据时间点的判定来更新om_courselist表:
`CREATE EVENT course_listener
ON SCHEDULE AT TIMESTAMP '2012-07-18 00:00:00' | EVERY 1 DAY
ON COMPLETION PRESERVE
DO UPDATE om_courselist SET status=6 WHERE status=5 AND closetime上面的计划任务添加失败,提示语句有问题,麻烦帮忙看下。我对比计划任务书写格式觉得自己写得格式应该没什么问题,而且不加“ AT TIMESTAMP '2012-07-18 00:00:00' |”就能正常执行,但是这样的话它就变成每天添加的这个点执行了。
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1 DAY ON COMPLETION PRESERVE DO UPDATE om_courselist SET status=6 WHERE sta' at line 1 `

展开
收起
落地花开啦 2016-02-08 15:16:05 8105 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    指定时间开始以指定频率执行试下这个,你用的at语法是在指定时间执行一次的意思。
    CREATE EVENT course_listener`
    ON SCHEDULE EVERY 1 DAY STARTS '2012-07-18 00:00:00'
    ON COMPLETION PRESERVE
    ENABLE
    DO
    UPDATE om_courselist SET status=6 WHERE status=5 AND closetime

    2019-07-17 18:39:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像