程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL事件的正確運行方案介紹

MySQL事件的正確運行方案介紹

編輯:MySQL綜合教程

你是否對獲得一個MySQL事件的實際操作感到十分頭疼?如果是這樣子的話,以下的文章將會給你相應的解決方案,以下的文章主要是介紹獲得一個MySQL事件的方案,以下就是相關內容的具體描述。

操作系統中的計劃任務WINDOWS)或CRONTABLLINUX/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事件的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved