mysql 触发器支持定时触发吗比如我在某个空表 定时触发一组表的删除操作。
同时记载删除信息。这里请问如何在触发器写定时触发的代码;
比如“
if (时间=早上九点)
-----------------
end 

解决方案 »

  1.   

    可以,
    方法一:在MYSQL中使用 EVENTCREATE 
        [DEFINER = { user | CURRENT_USER }]
        EVENT 
        [IF NOT EXISTS]
        event_name    
        ON SCHEDULE schedule
        [ON COMPLETION [NOT] PRESERVE]
        [ENABLE | DISABLE | DISABLE ON SLAVE]
        [COMMENT 'comment']
        DO sql_statement;schedule:
        AT timestamp [+ INTERVAL interval] ...
      | EVERY interval 
        [STARTS timestamp [+ INTERVAL interval] ...] 
        [ENDS timestamp [+ INTERVAL interval] ...]interval:
        quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
                  WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
                  DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}CREATE EVENT e_hourly
        ON SCHEDULE 
          EVERY 1 HOUR
        COMMENT 'Clears out sessions table each hour.'
        DO
          DELETE FROM site_activity.sessions;
      

  2.   

    另外就是直接在操作系统的 crontab 中实现。(个人推荐这个,感觉上event 不太可靠,不如shell脚本中方便。)
      

  3.   

    但是event可以把定时触发的 详细信息记录到另外1表里
    调试极为方便
    dba有时偶没有sa的权限在机器上随意的做事情
    这个触发器的定时很有用的
    如果能用好 有etl的价值。
      

  4.   

    event mysql5.1新增的怎么不用
      

  5.   

    mysql 触发器支持定时触发吗-------------
    不支持考虑用系统的计划任务或mysql本身带的event或自己写程序定时调度
      

  6.   

    5.0.37开始就支持mysql事件调度了。。
      

  7.   

    触发器应该是有事件发生才会开始执行的吧。这样你可以在event中定时执行可以引起触发器执行的操作就行。
    不过我觉得用事务就可以了吧。反正都是定时执行。并不是说根据条件来执行。如果用触发器定时触发。那如果不是在规定时间内刚好执行了某事件可以触发。那不就是提前执行了