无法找出这个MySQL事件语法有什么问题

时间:2015-04-02 19:17:03

标签: mysql node.js events syntax sails.js

我正在尝试创建一个MySQL事件,这就是我正在使用的语法:

CREATE EVENT test
    ON SCHEDULE AT FROM_UNIXTIME(1428005286)
    DO
      BEGIN
        UPDATE blog_posts SET status = 'published' WHERE id = 5;
      END

当我在 Node.js (使用mySQL适配器,在Sails.js下)运行它时,我没有收到任何错误,但是事件没有被创建。当我直接通过phpMyAdmin运行它时,我得到:

#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 '' at line 5 

我还尝试在END中添加分号,使其成为END;,并删除所有分号,并返回一个稍微类似的错误:

 #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 'END' at line 6

我不知道为什么会这样。任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

您可能需要从以下开始:创建DEFINER = root @ localhost ...
此外,由于这是一个单行,您不需要BEGIN..END