--设置事件调度器 开启
SET GLOBAL event_scheduler = ON;

--查看事件调度器 是否开启 on开  off关
SHOW VARIABLES LIKE 'event_scheduler';

创建表:
DROP TABLE IF EXISTS `szl`;
CREATE TABLE `szl` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `uname` varchar(20) DEFAULT NULL,
  `lastupdate` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

事件调度器 每10秒 向szl表插入数据:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 10 SECOND
DO
INSERT INTO szl(uname, lastupdate) VALUES('Jimmy Shan', NOW());

说明:
szl_evt_insert 事件名称
EVERY 10 SECOND 每隔10秒执行
DO  需要做的事

-------------------------------------------------------------------------------
mysql在每天指定时间执行的事物建立方法:
DROP EVENT if EXISTS  事物名称;
CREATE EVENT事物名称
ON SCHEDULE EVERY 1 DAY
STARTS '2014-06-25 18:50:00'
DO  CALL  c managerloginsert;

关键是STARTS '2014-06-25 18:50:00' 句  指定开始日期及时间 那么第二次执行是就会18:50:00开始
想想为啥?因为这里ON SCHEDULE EVERY 1 DAY 指定一天 第一次开始执行的时间是18:50:00 下次再执行
必须到一天 24小时 。

-------------------------------------------------------------------------------
5天后清空表记录:
CREATE EVENT szl_evt_insert
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
指定在2014-06-25 17:00:00清空表记录:
CREATE EVENT szl_evt_insert
ON SCHEDULE AT TIMESTAMP '2014-06-25 17:00:00'
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
每天定时清空表:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
5天后开启每天定时清空表:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
每天定时清空表,5天后停止执行:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO
TRUNCATE TABLE szl;

-------------------------------------------------------------------------------
5天后开启每天定时清空表,一个月后停止执行:
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
DO
TRUNCATE TABLE szl;

[ON COMPLETION [NOT] PRESERVE]可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。

-------------------------------------------------------------------------------
每天定时清空表(只执行一次,任务完成后就终止该事件):
CREATE EVENT szl_evt_insert
ON SCHEDULE EVERY 1 DAY
ON COMPLETION NOT PRESERVE
DO
TRUNCATE TABLE szl;

[ENABLE | DISABLE]可是设置该事件创建后状态是否开启或关闭,默认为ENABLE。
[COMMENT ‘comment']可以给该事件加上注释。

-------------------------------------------------------------------------------
修改事件(ALTER EVENT)
ALTER EVENT event_name
[ON SCHEDULE schedule]
[RENAME TO new_event_name]
[ON COMPLETION [NOT] PRESERVE]
[COMMENT 'comment']
[ENABLE | DISABLE]
[DO sql_statement]
1) 临时关闭事件

ALTER EVENT e_test DISABLE;
2) 开启事件

ALTER EVENT e_test ENABLE;
3) 将每天清空test表改为5天清空一次:

ALTER EVENT e_test
ON SCHEDULE EVERY 5 DAY;

删除事件(DROP EVENT)
语法很简单,如下所示:

DROP EVENT [IF EXISTS] event_name
例如删除前面创建的e_test事件

DROP EVENT e_test;
当然前提是这个事件存在,否则会产生ERROR 1513 (HY000): Unknown event错误,因此最好加上IF EXISTS

DROP EVENT IF EXISTS e_test;

最新文章

  1. 关于若干php 表单 的重新审视
  2. Python3.5之TuShare
  3. POJ1273Drainage Ditches[最大流]
  4. 浅谈对Js闭包的理解
  5. DBCP连接池使用问题
  6. mysql之路【第三篇】
  7. Color Me Less
  8. SilverLight 条码 扫描枪 MVVM(转载)
  9. 对象属性封装到map中
  10. jsp带参转链接
  11. 非洲儿童(南阳oj1036)(馋)
  12. mac下配置gdb调试golang
  13. EMC在线测试题目及答案 绿色为正确答案,红色为错误答案
  14. python:数据库连接操作入门
  15. python小练--使用正则表达式将json解析成dict
  16. QT_QSlider的总结
  17. Taffy自动化测试框架Web开发,Python Flask实践详解
  18. 【BZOJ2743】[HEOI2012]采花 离线+树状数组
  19. 利用maven-assembly-plugin加载不同环境所需的配置文件及使用场景
  20. R中的路径设置

热门文章

  1. Drrols规则引擎
  2. c# 基于文件系统实现的队列处理类
  3. python输出彩色字体
  4. nginx漏洞分析与升级修复
  5. iOS----------上传遇到的问题
  6. MSSQL 更改表结构
  7. CDN工作机制和负载均衡
  8. 如何修复使用WSUS进行升级Win 10 更新1809的报错(0x8024200)
  9. Java集合-ArrayList源码解析-JDK1.8
  10. 借助Chrome和插件爬取数据