Mysql 中的事件//定时任务
- 什么是事件
- 开启事件
- 自定义事件举例
什么是事件
一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行;
开启事件
查看是否开启:
show variables like 'event_scheduler';
如果显示OFF,则输入以下语句开启:
set global event_scheduler = on;
提醒:虽然这里用set global event_scheduler = on语句开启了事件,但是每次重启电脑。或重启mysql服务后,会发现,事件自动关闭(event_scheduler=OFF),所以想让事件一直保持开启,最好修改配置文件,让mysql服务启动的时候开启时间,只需要在my.ini配置文件的[mysqld]部分加上event_scheduler=ON 即可,如下:
自定义事件举例
首先、新建user表:
-- ---------------------------- -- Table structure for `user` -- ---------------------------- DROP TABLE IF EXISTS `user`; CREATE TABLE `user` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(200) NOT NULL,`address` varchar(500) NOT NULL,`addtime` datetime NOT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后、新建事件,有两种事件类型,一个是间隔触发,另一个是特定事件触发。
类型一:每隔一分钟插入一条数据:
参数说明:
DEFINER:创建者;
ON COMPLETION [NOT] PRESERVE :表示当事件不会再发生的情况下,删除事件(注意特定时间执行的事件,如果设置了该参数,执行完毕后,事件将被删除,不想删除的话可以设置成ON COMPLETION PRESERVE);
ENABLE:表示系统将执行这个事件;
-- ---------------------------- -- Event structure for `event_minute` -- ---------------------------- DROP EVENT IF EXISTS `event_minute`; DELIMITER ;; CREATE DEFINER=`root`@`localhost` EVENT `event_minute` ON SCHEDULE EVERY 1 MINUTE STARTS '2016-01-17 14:49:43' ON COMPLETION NOT PRESERVE ENABLE DO BEGININSERT INTO USER(name, address,addtime) VALUES('test1','test1',now());INSERT INTO USER(name, address,addtime) VALUES('test2','test2',now()); END ;; DELIMITER ;
类型二:特定时间插入一条数据,如2016-01-17 15:30:00
参数说明:
DEFINER:创建者;
ON COMPLETION [NOT] PRESERVE :表示当事件不会再发生的情况下,删除事件(注意特定时间执行的事件,如果设置了该参数,执行完毕后,事件将被删除,不想删除的话可以设置成ON COMPLETION PRESERVE);
ENABLE:表示系统将执行这个事件;
-- ---------------------------- -- Event structure for `event_at` -- ---------------------------- DROP EVENT IF EXISTS `event_at`; DELIMITER ;; CREATE DEFINER=`root`@`localhost` EVENT `event_at` ON SCHEDULE AT '2016-01-17 15:30:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGININSERT INTO USER(name, address,addtime) VALUES('AT','AT',now()); END ;; DELIMITER ;
查看结果,结果正确:
转载于:https://www.cnblogs.com/fuhengheng/p/7998089.html
Mysql 中的事件//定时任务相关推荐
- 一文详解MySQL中的事件调度器EVENT
MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...
- mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建
一.使用过程1.查看当前是否已开启事件计划(调度器)有3种方法: SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SH ...
- mysql事件不定时执行_Mysql 中的事件//定时任务
什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 开启事件 查看是否开启: show variables ...
- mysql查看事件任务内容_Mysql 中的事件//定时任务
什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 开启事件 查看是否开启: show variables ...
- mysql中如何设置定时任务_mysql设置定时任务
今天遇到了个须要天天定时执行的任务,在mysql数据库里面提供了这样的功能,正好整理下分享出来.mysql 1.首先检查是否开启了定时任务sql 查看event是否开启 : SHOW VARIABLE ...
- mysql中如何设置定时任务_mysql如何实现设置定时任务 mysql实现设置定时任务方法...
本篇文章小编给大家分享一下mysql实现设置定时任务方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.首先检查是否开启了定时任务 查看event是否开启 : SHOW ...
- 记录-MySQL中的事件调度Event Scheduler
下面是自己的实例 /*查询event是否开启(查询结果Off为关闭 On为开启)*/ show variables like '%sche%'; /*开启/关闭命令(1开启--0关闭)*/ set g ...
- MySQL中Event事件的执行记录查询
以前也整理过多次,但不便于查找,今重点对Event的执行记录查询进行整理记录: 1.查看是否开启事件调度器: [方式一] SELECT @@event_scheduler; [方式二] SHOW VA ...
- mysql originator_MySQL中的事件调度器EVENT
MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...
最新文章
- [WIKIOI1298]凸包周长[裸凸包]
- html input image 尺寸,HTML DOM Input Image 对象
- 全球规模最大的全浸没式液冷数据中心落户杭州余杭
- C Runtime Library 的来历
- 怎么使用jstack精确找到异常代码
- linux时间戳转换不对,转换为unix时间戳不正确
- 正则表达式替换排除特定情况
- 暴力 Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II
- 7添加静态路由 hat red_Centos7/RHEL 7 配置静态路由
- ffplay for mfc 代码备忘
- [转载] 扩展Python之在Python中调用C编写的函数模块
- JavaScript相关技术学习
- 深度学习样本标完后图片增强标签内容不变
- 计算机文言,中国最具有概括性的文言文文字?本人学计算机编程的
- svn和git下载安装
- 利用perl一键生成符合LEFse差异分析的Table表
- SATA协议14种FIS介绍
- 径向基函数拟合(RBF Fitting)
- 动物识别——人工智能
- iOS视频播放-MPMoviePlayerController