当前位置: 首页 > 编程日记 > 正文

记录-MySQL中的事件调度Event Scheduler

下面是自己的实例

/*查询event是否开启(查询结果Off为关闭 On为开启)*/
show variables like '%sche%';

/*开启/关闭命令(1开启--0关闭)*/
set global event_scheduler=1;

/*关闭事件任务: */alter event e_test_insert ON COMPLETION PRESERVE DISABLE;
/*开户事件任务: */alter event e_test_insert ON COMPLETION PRESERVE ENABLE;

创建event
use vanke20151209
CREATE EVENT e_test_insert
ON SCHEDULE EVERY 60 SECOND
DO call up_appointment_del();


CREATE PROCEDURE up_appointment_del()
BEGIN
UPDATE appointment a SET a.Deleted =TRUE WHERE a.Deleted=0 AND TIMESTAMPDIFF(day,a.CreateTime,NOW()) >=a.CancelDay;
END












查看event是否开启: show variables like '%sche%'; 将事件计划开启: set global event_scheduler=1; 关闭事件任务: alter event e_test ON COMPLETION PRESERVE DISABLE; 开户事件任务: alter event e_test ON COMPLETION PRESERVE ENABLE;

简要查询存在的:show events
简单实例. 
创建表 CREATE TABLE test(endtime DATETIME); 创建存储过程test 
CREATE PROCEDURE test () 
BEGIN 
update examinfo SET endtime = now() WHERE id = 14; 
END; 创建event e_test 
CREATE EVENT if not exists e_test 
on schedule every 30 second 
on completion preserve 
do call test(); 每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去 1) 首先来看一个简单的例子来演示每秒插入一条记录到数据表 USE test; 
CREATE TABLE aaa (timeline TIMESTAMP); 
CREATE EVENT e_test_insert 
ON SCHEDULE EVERY 1 SECOND 
DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP); 
等待3秒钟后,再执行查询看看: 
copyright dedecmsmysql> SELECT * FROM aaa; 
+---------------------+ 
| timeline | 
+---------------------+ 
| 2007-07-18 20:44:26 | 
| 2007-07-18 20:44:27 | 
| 2007-07-18 20:44:28 | 
+---------------------+ 
2) 5天后清空test表: CREATE EVENT e_test 
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY 
DO TRUNCATE TABLE test.aaa; 
3) 2007年7月20日12点整清空test表: CREATE EVENT e_test 
ON SCHEDULE AT TIMESTAMP '2007-07-20 12:00:00' 
DO TRUNCATE TABLE test.aaa; 
4) 每天定时清空test表: CREATE EVENT e_test 
ON SCHEDULE EVERY 1 DAY 
DO TRUNCATE TABLE test.aaa; 
5) 5天后开启每天定时清空test表: CREATE EVENT e_test 
ON SCHEDULE EVERY 1 DAY 
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY 
DO TRUNCATE TABLE test.aaa; 
6) 每天定时清空test表,5天后停止执行: CREATE EVENT e_test 
ON SCHEDULE EVERY 1 DAY 
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY 
DO TRUNCATE TABLE test.aaa; 
7) 5天后开启每天定时清空test表,一个月后停止执行: 本文来自织梦 CREATE EVENT e_test 
ON SCHEDULE EVERY 1 DAY 
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY 
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH 
DO TRUNCATE TABLE test.aaa; 
[ON COMPLETION [NOT] PRESERVE]可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。 
8) 每天定时清空test表(只执行一次,任务完成后就终止该事件): CREATE EVENT e_test 
ON SCHEDULE EVERY 1 DAY 
ON COMPLETION NOT PRESERVE 
DO TRUNCATE TABLE test.aaa; 
[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; create event test 
ON SCHEDULE AT '2007-09-01 12:00:00' + INTERVAL 1 DAY 
on completion not preserve 
do insert into yyy values('hhh','uuu'); 解释:从2007-09-01开始,每天对表yyy在12:00:00进行一个插入操作。而且只执行一次(on completion not preserve ) 我的计划任务为: create event sysplan 
ON SCHEDULE AT '2010-05-22 23:00:00' + INTERVAL 1 DAY 
on completion not preserve 
do truncate table bjproj.ae_tmp; 三、通过设定全局变量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// 

在MySQL 5.5 Command Line Client下调试通过。

原文:http://blog.chinaunix.net/uid-22301538-id-3409644.html

转载于:https://www.cnblogs.com/dscs/p/5038556.html

相关文章:

JS 实现下载Blod文件

实现代码: //下载Blod文件 const downLoadBlobFile (filename, res) > {if (!res) return;let a document.createElement(a);let blob new Blob([res], { type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charsetutf-8 });let blo…

盖尔-沙普利算法_盖尔定律-及其与初创企业的关系

盖尔-沙普利算法I realized something fascinating the other day: I realized that, as a startup entrepreneur and founder, I’m a builder of systems.前几天,我意识到了一件令人着迷的事情:我意识到,作为一名初创企业家和创始人&#x…

使用VS Code开发.Net Core 2.0 MVC Web应用程序教程之三(配置文件读取)

干了一天的活,还有点时间,给兄弟们写点东西吧。 大家有没有发现一个问题?那就是在.Net Core的MVC项目里面,没有.config文件了!!!同志们,没有config文件了啊,这样搞&#…

小程序云开发数据库在网站读取

使用TCB JS SDK Tencent Cloud Base(TCB) JavaScript SDK 介绍 TCB 提供开发应用所需服务和基础设施。TCB JS SDK 让你可以在网页端使用 JavaScript 代码服务访问 TCB 的的服务。你可以使用该 SDK 构建自己的公众号页面或者独立的网站等 Web 服务。 安装 TCB JS SDK 可以…

设计模式学习心得4

1.组合模式 定义一个父类,其中包括所有子类的方法接口,那么对于任何一个子类来说对外界都是封闭的,外界只调用父类的接口,而不知道子类是否有实现。 2.迭代器模式 这个很常见,在C中常常会用在标准模版类中,…

react创建组件_如何使用React创建时间轴组件

react创建组件These days I’ve been working on a new page for my website. I wanted to have a Timeline to showcase some of my professional accomplishments over the years.这些天来,我一直在为网站创建新页面。 我希望有一个时间表来展示我多年来的一些专业…

oracle根据一张表更新另外一张表

知道是两张表进行更新,之前作过mysql的,直接就写了: update a,b set a.code b.code wehre a.id b.id 然后就报错了,上网查了下知道oracle不能这样子写 之后找到如下的办法: UPDATE a set a.code (select b.code from b where…

应用内设置语言不重启方法

1、设置本应用方法网上有很多,大概如下 Resources resources getResources(); Configuration config resources.getConfiguration(); DisplayMetrics dm resources.getDisplayMetrics(); config.locale locale; //目标语言 resources.updateConfiguration(confi…

小程序内容审核违规过滤,在小程序使用security.msgSecCheck

使用微信提供的API security.msgSecCheck 查看文档 1.开通云开发,创建云环境。 2.在云函数的目录中,创建一个云函数(ContentCheck),如果小程序代码没有云函数的目录,可以在 project.config.json 目录中配置…

如何在JavaScript中切片和拼接数组

.slice() and .splice() are similar methods in JavaScript. They look similar, they sound similar, and they do similar things. For those reasons, it’s important to know the differences between them. Also, they’re used very often, so understanding their usa…

jQuery中getJSON跨域原理详解

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp28 jQuery中getJSON跨域原理详解 前几天我再开发一个叫 河蟹工具条 的时候,其中有个功能就是获取本页面的短网址。 这个想法是好的,可是在我付诸于行动的时候,发…

样式集(七)仿微信发现页样式

效果图&#xff1a; <!--pages/find/find.wxml--><include src"/components/common/common" /> <view class"item" catchtap"nav1"><image class"icon" mode"widthFix" src"/images/icon_5.png&q…

html向js传递id

html获取id方法&#xff1a; <div id"thediv1" style"display:block" onclick"ceshi(this.id)">技术A组</div> this.id ------>本身id转载于:https://www.cnblogs.com/wanlibingfeng/p/7613575.html

javascript功能_功能性JavaScript简介

javascript功能Hey everybody! I’ve written a book called Discover Functional JavaScript, and it’s now ready in both paperback and Kindle formats.大家好&#xff01; 我已经写了一本书《 发现功能JavaScript》 &#xff0c;现在已经可以使用平装本和Kindle格式。 A…

样式集,小程序群聊,聊天室样式,效果图

效果图 注&#xff1a;&#xff08;码云 group_chat_yun &#xff09; 代码&#xff1a; <!-- <view class"top"><image class"page_editright" catchtap"navBack" mode"widthFix" src"/images/editright.png&quo…

GeoQuiz项目的开发与总结2

时间过得很快&#xff0c;第二阶段的学习结束了。 本周的主要工作是完成了Geoquiz项目的剩余部分。 首先是学到了些什么&#xff0c;最主要的是工作的流程&#xff0c;然后是界面的布局&#xff0c;菜单栏的设计到等。当然我觉得我学到的应该是工作制作的思维方式吧。 再来说说…

【12.16】VC++调用Word OLE进行自动化生成报表

&#xff01; 12-16更新 初始化博客转载于:https://www.cnblogs.com/miki-52/p/5052689.html

python timber_如何使用Timber更有效地记录日志

python timberby Ayusch Jain通过Ayusch Jain 如何使用Timber更有效地记录日志 (How to log more efficiently with Timber) Logging is one of the most used utilities in the Android framework. It is really helpful in debugging your code when debugging by break-poi…

node 实现blog博客

https://cnodejs.org/topic/581b0c4ebb9452c9052e7acb转载于:https://www.cnblogs.com/zhangshuda/p/7640363.html

小程序输入框导致界面上移,在输入的时候固定住页面的解决代码

效果&#xff1a; 代码&#xff1a; <view class"comment" style"bottom:{{bottom}}px"><view class"emoji_block" wx:if{{emoji_block_show}}><view wx:for{{connectemoji}} catchtap"add_biaoqing" id"{{item}}…

react中纯函数_如何在纯React中创建电子邮件芯片

react中纯函数by Andreas Remdt由Andreas Remdt 如何在纯React中创建电子邮件芯片 (How to create email chips in pure React) Imagine that you, the good-looking developer (yes, I’m talking to you!), want to build an invitation form where users can add one or mo…

servlet程序HTTP Status 500 - Error instantiating servlet class 解决

一、项目存放路径问题(最常见) 在安装Tomcat时&#xff0c;运行程序都正常&#xff0c;但却打不开http://localhost:8080/&#xff0c;在Tomcat目录webapps下也找不到自己做的项目&#xff0c;这时因为你做的项目没有部署到webapps目录下&#xff0c;倒霉的时候就会遇到报错HTT…

ASP.NET将原始图片按照指定尺寸等比例缩放显示图片

网站上可能会有很多图片&#xff0c;比如产品图片等&#xff0c;而且他们可能大小不一&#xff0c;宽度和高度也不一定一样&#xff0c;有的很大有的很小。如果放在一张网页上&#xff0c;可能会破坏版面&#xff0c;但是如果强制让他们按照指定的宽度和高度显示&#xff0c;因…

前端开发框架选择

Vue Vant 适用场景&#xff1a;开发移动端 (vue) 上手难度&#xff1a;1 Vant是一款很好用的移动端UI框架&#xff0c;非常轻便&#xff0c;适合小型项目 https://vant-contrib.gitee.io/vant/#/zh-CN/ 微信小程序 适用场景&#xff1a;微信小程序&#xff08;小程序原生框架…

anki_Anki如何挽救我的工程生涯

ankiby Jeffrey Shek通过Jeffrey Shek Anki如何挽救我的工程生涯 (How Anki saved my Engineering Career) I was burned out and my software career was stalling just three years in. My memory sucked. Was my poor memory from stress, lack of sleep or was it always …

信息安全系统设计基础期末总结

【博客汇总】 一、每周读书笔记链接汇总 •[第二周读书笔记] http://www.cnblogs.com/20135302wei/p/4842480.html •[第三周读书笔记] http://www.cnblogs.com/20135302wei/p/4858760.html •[第四周读书笔记] http://www.cnblogs.com/20135302wei/p/4870113.html •[第五周读…

方法 retrun 异步的值,创建一个变量直接等于一个异步方法返回的值

需求&#xff1a;我想创建一个变量&#xff0c;他的值是一个openid&#xff0c; openid 从 getOpenid (封装的一个异步方法) 里面返回&#xff0c;通常调用 getOpenid ,会返回一个Promise 对象&#xff0c;.then 之后才能得到值&#xff0c;例如&#xff1a; //模拟一个异步方…

ps混合模式glsl代码

https://github.com/jamieowen/glsl-blend 转载于:https://www.cnblogs.com/guochen/p/7645227.html

应用程序启动器 标记为信任_为什么您今天不能信任应用程序-以及如何解决它...

应用程序启动器 标记为信任亲爱的每家高科技公司&#xff0c;请窃取这个想法 (Dear Every Single Tech Company, Please Steal This Idea) When you send a photo to someone, your messaging app actually first sends the photo to an app’s server, which then sends the p…

小程序客服自动回复图片,云开发的实现

小程序先开通云开发&#xff0c;创建一个文件夹&#xff0c;并配置为云函数的目录 小程序客服自动回复图片实现步骤&#xff1a; 1.云函数接收消息推送 第一步&#xff1a;开发者工具云开发控制台中增加配置 打开云开发控制台&#xff0c;到设置 tab 中选择全局设置 - 添加消…