博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql--events_MySQL事件 Events
阅读量:5732 次
发布时间:2019-06-18

本文共 1200 字,大约阅读时间需要 4 分钟。

MySQL事件 Events

一、关键字: EVENT

二、语法:

CREATE EVENT?

[IF NOT EXISTS ] //如果不存在则创建

event_name?

ON SCHEDULE schedle

[ON COMPLETION [NOT] PRESERVE]

[ENABLE|DESABLE]

[COMMENT 'comment']

DO sql_statement

说明:

1.event_name 事件的名称

2.ON SCHEDULE

有两种设定计划任务的方式:

#单次计划任务:

AT 时戳

#重复的计划任务

EVERY 时间(单位)的数量 时间单位 [STARTS 时戳][ENDS 时戳]

在两种计划任务中,时戳可以是任意的TIMESTAMP 和DATETIME 数据类型,要求提供的是将来的时间(大于CURRENT_TIMESTAMP),而且小于Unix时间的最后时间(等于或小于'2037-12-31 23:59:59')

时间单位是关键词:YEAR,MONTH,DAY,HOUR,MINUTE 或者SECOND

3.[ON COMPLETION [NOT] PRESERVE]

COMPLETION 当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。而声明PRESERVE的作用是使事件在执行完毕后不会被Drop掉

4.[ENABLE|DESABLE]

ENABLE 开启事件

DESABLE 关闭事件

5.COMMENT

注释

6.DO sql_statement

执行的sql语句

三、通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。?

查看是否event_scheduler开启

mysql> SHOW VARIABLES LIKE '%event%';

设置开启

mysql> SET GLOBAL event_scheduler=ON;

四、例子:

每分钟插入一条日志:

DELIMITER //

CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 MINUTE STARTS '2010-12-27 00:00:00'?

ON COMPLETION NOT PRESERVE ENABLE DO?

BEGIN?

INSERT INTO log SET addtime=NOW();

END

//

调用存储过程:

DELIMITER //

CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 DAY STARTS '2010-00-00 00:00:00'?

ON COMPLETION NOT PRESERVE ENABLE DO?

BEGIN

CALL user_log_prov();

END

//

转载地址:http://ixowx.baihongyu.com/

你可能感兴趣的文章
tmux不自动加载配置文件.tmux.conf
查看>>
经验分享:JavaScript小技巧
查看>>
[MOSEK] Stupid things when using mosek
查看>>
程序实例---栈的顺序实现和链式实现
查看>>
服务的使用
查看>>
Oracle 用户与模式
查看>>
网站开发流程以及HTML5简介(八)
查看>>
MairDB 初始数据库与表 (二)
查看>>
RabbitMQ】三种Exchange模式——订阅、路由、通配符模式
查看>>
连接数据库——java
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
TRUNK
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
MDT 2013 从入门到精通之软件自动化部署设置
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
桌面支持--outlook取消收件规则1
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>