• 什么是事件
  • 开启事件
  • 自定义事件举例

什么是事件

一组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 中的事件//定时任务相关推荐

  1. 一文详解MySQL中的事件调度器EVENT

    MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...

  2. mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建

    一.使用过程1.查看当前是否已开启事件计划(调度器)有3种方法: SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SH ...

  3. mysql事件不定时执行_Mysql 中的事件//定时任务

    什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 开启事件 查看是否开启: show variables ...

  4. mysql查看事件任务内容_Mysql 中的事件//定时任务

    什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 开启事件 查看是否开启: show variables ...

  5. mysql中如何设置定时任务_mysql设置定时任务

    今天遇到了个须要天天定时执行的任务,在mysql数据库里面提供了这样的功能,正好整理下分享出来.mysql 1.首先检查是否开启了定时任务sql 查看event是否开启 : SHOW VARIABLE ...

  6. mysql中如何设置定时任务_mysql如何实现设置定时任务 mysql实现设置定时任务方法...

    本篇文章小编给大家分享一下mysql实现设置定时任务方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 1.首先检查是否开启了定时任务 查看event是否开启 : SHOW ...

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

    下面是自己的实例 /*查询event是否开启(查询结果Off为关闭 On为开启)*/ show variables like '%sche%'; /*开启/关闭命令(1开启--0关闭)*/ set g ...

  8. MySQL中Event事件的执行记录查询

    以前也整理过多次,但不便于查找,今重点对Event的执行记录查询进行整理记录: 1.查看是否开启事件调度器: [方式一] SELECT @@event_scheduler; [方式二] SHOW VA ...

  9. mysql originator_MySQL中的事件调度器EVENT

    MySQL中的事件调度器,EVENT,也叫定时任务,类似于Unix crontab或Windows任务调度程序. EVENT由其名称和所在的schema唯一标识. EVENT根据计划执行特定操作.操作 ...

最新文章

  1. [WIKIOI1298]凸包周长[裸凸包]
  2. html input image 尺寸,HTML DOM Input Image 对象
  3. 全球规模最大的全浸没式液冷数据中心落户杭州余杭
  4. C Runtime Library 的来历
  5. 怎么使用jstack精确找到异常代码
  6. linux时间戳转换不对,转换为unix时间戳不正确
  7. 正则表达式替换排除特定情况
  8. 暴力 Codeforces Round #183 (Div. 2) A. Pythagorean Theorem II
  9. 7添加静态路由 hat red_Centos7/RHEL 7 配置静态路由
  10. ffplay for mfc 代码备忘
  11. [转载] 扩展Python之在Python中调用C编写的函数模块
  12. JavaScript相关技术学习
  13. 深度学习样本标完后图片增强标签内容不变
  14. 计算机文言,中国最具有概括性的文言文文字?本人学计算机编程的
  15. svn和git下载安装
  16. 利用perl一键生成符合LEFse差异分析的Table表
  17. SATA协议14种FIS介绍
  18. 径向基函数拟合(RBF Fitting)
  19. 动物识别——人工智能
  20. iOS视频播放-MPMoviePlayerController

热门文章

  1. 计算机用并行传输还是串行,网线RJ45是并行传输还是串行
  2. c 调用python_c调用python
  3. 在项目中缓存是如何使用的?
  4. Linux/unix 查看端口占用
  5. 使用eclipse快速set/get
  6. HDOJ2072解题报告【字典树】
  7. ab 轻量的压测工具
  8. 十进制大数的加法运算
  9. 一些IOS开发中的小技巧
  10. Linux网络编程服务器模型选择之IO复用循环并发服务器