MySQL事件(1)
来源:互联网 发布:简明python教程 chm 编辑:程序博客网 时间:2024/05/14 03:28
1.事件是MySQL在相应的时刻调用的过程式数据库对象。
2.一个事件只能调用一次,一个事件也可以周期性的调用,可以在特定的时间调用。
3.MySQL调度器负责调度事件,要创建事件必须打开调度器:
set global event_scheduler=true;
关闭调度器:
set global event_scheduler=false;
4.创建一个事件记录表来记录事件的执行:
create table event_invoke(event_name varchar(20),event_start timestmap)
5.创建一个立即启动的事件:
create event direct on schedule at now()do insert into event_invoke values('direct',now());
创建一个在2016年3月1号上午11点执行的事件:
create event direct2 on schedule at '2016-03-01 11:00:00'do insert into event_invoke values('direct_20160301',now());
创建一个每三天执行一次的事件:
create event direct3 on schedule at now()+interval 3 daydo insert into event_invoke values('threedays',now());
创建一个在下周日执行的事件:
create event_sunday on schedule at case dayname(now())when 'Sunday' then now() + interval 7 daywhen 'Monday'then now() + interval 6 daywhen 'Tuesday' then now() + interval 5 daywhen 'Wednesday'then now() + interval 4 daywhen 'Thursday'then now() + interval 3 daywhen 'Friday'then now() + interval 2 daywhen 'Saturday'then now() + interval 1 daydo insert into event_invoke values('next_sunday',now());
以上可以简化为:
create event next_sunday on schedule at now()+interval (8-dayofweek(now())) daydo insert into event_invoke values('next_sunday',now());
创建一个明天上午10点执行的事件:
create event tomorrow10 on schedule at timestamp(curdate() + interval 1 day,'10:00:00') do insert into event_invoke values('tomorrow',now());
创建一个事件在3小时后启动并且每2小时运行一次直到晚上11点:
create event every2hour on schedule every 2 hour starts now()+3 hour ends curdate()+interval 23 hourdo insert into event_invoke values('every2hour',now());
创建一个事件,明天中午12点运行,并且每分钟运行一次,一共运行6次:
create event sixtime on schedule every 1 minutestarts timestamp(curdate()+interval 1 day ,'12:00:00')ends timestamp(curdate + interval 1 day,'12:00:00')+interval 5 minute do insert into event_invoke values('_sixtimes',now());
创建一个事件他在Sunday启动并且持续后面的四个周:
create event fivesundays starts case dayname(now())when 'Sunday' then now() when 'Monday'then now() + interval 6 daywhen 'Tuesday' then now() + interval 5 daywhen 'Wednesday'then now() + interval 4 daywhen 'Thursday'then now() + interval 3 daywhen 'Friday'then now() + interval 2 daywhen 'Saturday'then now() + interval 1 dayend ends case dayname(now()) when 'Sunday' then now() when 'Monday'then now() + interval 6 daywhen 'Tuesday' then now() + interval 5 daywhen 'Wednesday'then now() + interval 4 daywhen 'Thursday'then now() + interval 3 daywhen 'Friday'then now() + interval 2 daywhen 'Saturday'then now() + interval 1 dayend + interval 4 week do insert into event_invoke values('next_4_sunday',now());
代码来源:MySQL开发者SQL权威指南
0 0
- mysql事件1
- MySQL事件(1)
- mysql 事件
- MySQL 事件
- mysql事件
- mysql 事件
- mysql事件
- mysql 事件
- MySQL 事件
- MySql事件
- mysql事件
- mysql 事件
- mysql事件
- mysql事件
- mysql事件
- mysql事件
- Mysql事件
- mysql事件
- C#访问openfire服务器之一:服务端的安装、客户端的简介
- 纯css实现垂直导航栏
- 欢迎使用CSDN-markdown编辑器
- android四大组件--ContentProvider详解
- Android M 新的运行时权限开发者需要知道的一切
- MySQL事件(1)
- 一阶差分法求取波形起始点、顶点
- WinCE Network驱动开发简介
- 海康SDK编程指南(C#二次开发版本)
- webkit js扩展方式之Binding添加新DOM对象
- php 魔法方法
- java 学习之旅 一
- JQuery给textarea取值和赋值
- ListView滚动和点击冲突