需求: 
  创建一个事件,每分钟调用一次存储过程队数据库进行操作 
  我写的代码如下:create event fee_dec on schedule every 1 minute starts '2009-07-08 16:32:00' on completion preserve do call test();问题: 
  单独call存储过程test()操作数据库正常,创建事件fee_dec后数据库没反应,也不报错, '2009-07-08 23:59:59' 大于当前时间,请指教! 

解决方案 »

  1.   

    你的系统变量 event_scheduler  有没有激活?mysql> SET GLOBAL event_scheduler = ON;
    Query OK, 0 rows affected (0.00 sec)mysql> create table t_Amendla(
        ->  id int not null auto_increment primary key,
        ->  dt      timestamp
        -> );
    Query OK, 0 rows affected (0.09 sec)mysql> insert into t_Amendla values (null,null);
    Query OK, 1 row affected (0.06 sec)mysql> drop PROCEDURE p_Amendla;
    Query OK, 0 rows affected (0.20 sec)mysql> delimiter //
    mysql>
    mysql> CREATE PROCEDURE p_Amendla ()
        -> BEGIN
        ->  insert into t_Amendla values (null,null);
        -> END;
        -> //
    Query OK, 0 rows affected (0.05 sec)mysql>
    mysql> delimiter ;
    mysql>
    mysql> call p_Amendla();
    Query OK, 1 row affected (0.03 sec)mysql> select * from t_Amendla;
    +----+---------------------+
    | id | dt                  |
    +----+---------------------+
    |  1 | 2009-07-08 21:32:15 |
    |  2 | 2009-07-08 21:32:45 |
    +----+---------------------+
    2 rows in set (0.00 sec)mysql>
    mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2009-07-08 21:33:39 |
    +---------------------+
    1 row in set (0.00 sec)mysql> CREATE EVENT fee_dec
        ->  ON SCHEDULE EVERY 1 MINUTE STARTS '2009-07-08 21:35:00'
        ->  ON COMPLETION PRESERVE
        -> DO call p_Amendla();
    Query OK, 0 rows affected (0.00 sec)mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2009-07-08 21:35:01 |
    +---------------------+
    1 row in set (0.00 sec)mysql> select * from t_Amendla;
    +----+---------------------+
    | id | dt                  |
    +----+---------------------+
    |  1 | 2009-07-08 21:32:15 |
    |  2 | 2009-07-08 21:32:45 |
    |  3 | 2009-07-08 21:35:00 |
    +----+---------------------+
    3 rows in set (0.00 sec)mysql> select now();
    +---------------------+
    | now()               |
    +---------------------+
    | 2009-07-08 21:36:21 |
    +---------------------+
    1 row in set (0.00 sec)mysql> select * from t_Amendla;
    +----+---------------------+
    | id | dt                  |
    +----+---------------------+
    |  1 | 2009-07-08 21:32:15 |
    |  2 | 2009-07-08 21:32:45 |
    |  3 | 2009-07-08 21:35:00 |
    |  4 | 2009-07-08 21:36:00 |
    +----+---------------------+
    4 rows in set (0.00 sec)mysql>