mysql创建event事件
2016-08-23 23:06
323 查看
一、基本语法
CREATE [DEFINER = { user | CURRENT_USER }] EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE | DISABLE ON SLAVE] [COMMENT 'comment'] DO event_body; schedule: AT timestamp [+ INTERVAL interval] ... | EVERY interval [STARTS timestamp [+ INTERVAL interval] ...] [ENDS timestamp [+ INTERVAL interval] ...] interval: quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
几个比较关键的点:
event_name表示事件的名称
schedule表示触发点,【AT timestamp】一般用于只执行一次,一般使用时可以使用当前时间加上延后的一段时间,例如:
AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR。也可以定义一个时间常量,例如:
AT '2006-02-10 23:59:00';【EVERY interval】一般用于周期性执行,可以设定开始时间和结束时间。
ON COMPLETION [NOT] PRESERVE,默认是执行完之后会自动删除。如果想保留该事件使用
ON COMPLETION PRESERVE;如果不想保留也可以设置
ON COMPLETION [NOT] PRESERVE。
ENABLE | DISABLE表示设置启用或者禁止这个事件。
COMMENT表示增加注释。
使用示例:
delimiter | CREATE EVENT e ON SCHEDULE EVERY 5 SECOND on completion preserve enable DO BEGIN DECLARE v INTEGER; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END; SET v = 0; WHILE v < 5 DO INSERT INTO t1 VALUES (0); UPDATE t2 SET s1 = s1 + 1; SET v = v + 1; END WHILE; END | delimiter ;
二、事件的基本使用方法
1、一般的修改语法与创建语法类似:ALTER EVENT myevent ON SCHEDULE EVERY 12 HOUR STARTS CURRENT_TIMESTAMP + INTERVAL 4 HOUR;
2、禁用事件
ALTER EVENT myevent DISABLE;
3、启用事件
ALTER EVENT myevent ENABLE;
4、使用事件之前要确保event功能是开启的
-- 查看event_scheduler变量是否开启,ON|1表示开启;OFF|0表示关闭。 show VARIABLES LIKE '%sche%'; -- 由于这是全局变量,需要root用户才能执行。 SET GLOBAL event_scheduler = 1;
5、查询数据库所有事件
select * from mysql.event;
相关文章推荐
- JDBC连接MySQL数据库的方法和实例
- MySQL存储引擎中的MyISAM和InnoDB区别详解
- Mysql常用命令行
- MySQL之子查询
- MySQL 5.6.22 win32 zip版安装
- mysql中日期类型DATETIME和TIMESTAMP的区别
- Mysql在创建好表之后为表创建自增长,并且设置自增长的起始值
- MySQL中的完整性约束
- mysql的初次接触
- Mysql from 子查询问题? 随笔
- mysql索引总结----mysql 索引类型以及创建
- MySQL索引原理及慢查询优化
- Mysql联合索引使用
- mysql integer size 大小
- MySQL for mac 连接报错:Access denied for user 'root'@'localhost' (using password: YES)
- MySql(13)------mysql自定义函数详解
- 在ubuntu中重置mysql服务器root密码的方法
- mysql 开启事务
- mysql 开启事务
- AWS RDS 解决时区,utf8问题