我想创建一个event,在每天的23:50:00自动自动执行一个存储过程,我是这样写得:
CREATE EVENT IF NOT EXISTS edm_sso_event
    ON SCHEDULE at time '23:50:00'
    ON COMPLETION PRESERVE
    ENABLE
    DO call pdm_all_end();但是却报错:
Error Code : 1525
Incorrect AT value: '23:50:00'请教,该如何修改。还有一个问题,我如何看到这个event是否执行了,谢谢。

解决方案 »

  1.   

    先看一下语法。
    CREATE 
        [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}

    再看一下例子。
    delimiter |CREATE EVENT e_daily
        ON SCHEDULE
          EVERY 1 DAY
        COMMENT 'Saves total number of sessions then clears the table each day'
        DO
          BEGIN
            INSERT INTO site_activity.totals (time, total)
              SELECT CURRENT_TIMESTAMP, COUNT(*) 
                FROM site_activity.sessions;
            DELETE FROM site_activity.sessions;
          END |delimiter ;
      

  2.   

    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    语法我知道   我就像知道EVERY 1 DAY是在一天内的什么时候运行?而且我怎么知道event是否运行过,从哪里能看到。
      

  4.   

    语法我知道   我就像知道EVERY 1 DAY是在一天内的什么时候运行?
    http://topic.csdn.net/u/20091020/22/c51bb709-6dbc-4fd1-b874-077714ed547e.html 
    #22楼
    而且我怎么知道event是否运行过,从哪里能看到。
    日志中。或者你的EVENT自己留下些什么痕迹。