Mysql事件已启用但无法正常工作

时间:2016-02-03 12:59:51

标签: mysql sql navicat

我试图运行mysql事件进行删除。 如果deleted表中的blog字段设置为1,则数据字段将为 转移到blog_archive表。

这是blog表。如果deleted再次设置为1 数据字段将传输到blog_archive

id  title   content   deleted   //blog table
-------------------------------
10 | ass  | sdsd    |   1    |
-------------------------------

blog_archive表......

id  title   content    //blog_archive table
--------------------
10 | ass  | sdsd    
--------------------

... blog table现在为空

id  title   content   deleted   //blog table
-------------------------------
   |      |         |        |
-------------------------------

...首先它工作正常,但几分钟后,重新启动后事件不再运行或工作。 我也试过了SET GLOBAL event_scheduler='ON';,但它仍然没有用。

这是事件的

的mysql代码
CREATE DEFINER=`root`@`localhost` EVENT `archive_blog` ON SCHEDULE EVERY 1 MINUTE STARTS '2016-01-05 21:59:39' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN

    INSERT INTO blog_archive(id, title, content) 
    SELECT id, title, content FROM blog WHERE deleted = 1;

    INSERT INTO audit_archive(id, blog_id, changetype, changetime) 
    SELECT audit.id, audit.blog_id, audit.changetype, audit.changetime FROM audit 
    JOIN blog ON audit.blog_id = blog.id WHERE blog.deleted = 1;

    DELETE FROM blog WHERE deleted = 1;

END
;;
DELIMITER ; 

PS:当audit表中audit_archive设置为1时,deleted表数据也将传输到blog表。

0 个答案:

没有答案