当前位置:Gxlcms > mysql > MySQL事件的正确运行方案介绍

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

时间:2021-07-01 10:21:17 帮助过:34人阅读

你是否对获得一个MySQL事件的实际操作感到十分头疼?如果是这样子的话,以下的文章将会给你相应的解决方案,以下的文章主要是介绍获得一个MySQL事件的方案,以下就是相关内容的具体描述。 操作系统中的计划任务(WINDOWS)或CRONTABL(LINUX/UNIX) 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. MySQL> CREATE EVENT e_totals
  28. -> ON SCHEDULE AT '2006-02-10 23:59:00'
  29. -> DO INSERT INTO test.totals VALUES (NOW());
  30. Query OK, 0 rows affected, 1 warning (0.00 sec)
  31. MySQL> SHOW WARNINGS\G
  32. *************************** 1. row ***************************
  33. Level: Note
  34. Code: 1588
  35. Message: Event execution time is in the past and ON COMPLETION NOT
  36. PRESERVE is set. The event was dropped immediately after
  37. creation.
  38. 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)

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

人气教程排行