MySQL事件的正确运行方案介绍


  本文标签:MySQL事件

  你是否对获得一个MySQL事件的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得一个MySQL事件的方案,以下就是相关内容的具体描述  。

  操作系统中的计划任务(WINDOWS)或CRONTABL(LINUX/UNIX)

  MySQL版本5.1以上,create event

  

  1. CREATE   
  2. [DEFINER = { user | CURRENT_USER }]   
  3. EVENT   
  4. [IF NOT EXISTS]   
  5. event_name   
  6. ON SCHEDULE schedule   
  7. [ON COMPLETION [NOT] PRESERVE]   
  8. [ENABLE | DISABLE | DISABLE ON SLAVE]   
  9. [COMMENT comment]   
  10. DO sql_statement;   
  11. schedule:   
  12. AT timestamp [+ INTERVAL interval] ...   
  13. | EVERY interval   
  14. [STARTS timestamp [+ INTERVAL interval] ...]   
  15. [ENDS timestamp [+ INTERVAL interval] ...]   
  16. interval:   
  17. quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |   
  18. WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |   
  19. DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}   
  20. MySQL> SELECT NOW();   
  21. +---------------------+   
  22. | NOW() |   
  23. +---------------------+   
  24. | 2006-02-10 23:59:01 |   
  25. +---------------------+   
  26. 1 row in set (0.04 sec)   
  27.  
  28. MySQL> CREATE EVENT e_totals   
  29. -> ON SCHEDULE AT 2006-02-10 23:59:00   
  30. -> DO INSERT INTO test.totals VALUES (NOW());   
  31. Query OK, 0 rows affected, 1 warning (0.00 sec)   
  32. MySQL> SHOW WARNINGS\G   
  33. *************************** 1. row ***************************   
  34. Level: Note   
  35. Code: 1588   
  36. Message: Event execution time is in the past and ON COMPLETION NOT   
  37. PRESERVE is set. The event was dropped immediately after   
  38. creation.  
  39. create event   

  

  MySQL事件中定时delete

  1. MySQL> CREATE EVENT e_totals   
  2. -> ON SCHEDULE AT 2006-02-10 23:59:00   
  3. -> DO INSERT INTO test.totals VALUES (NOW()); Query OK, 0 rows affected, 1 warning (0.00 sec)  
  4. MySQL> CREATE EVENT  
  5. -> event_name  
  6. -> ON SCHEDULE EVERY 1 DAY STARTS 2009-09-20 23:40:00  
  7. -> DO delete from t2;  
  8. Query OK, 0 rows affected (0.14 sec)  
  9.  

  

  这个建议用MySQL本上的event来实现; 也可以用操作系统的计划任务来处理; 或自己写个程序用定时器来触发  。以上的相关内容就是对一个MySQL事件的介绍,望你能有所收获  。