什么是事件

一组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

BEGIN

INSERT 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

BEGIN

INSERT INTO USER(name, address,addtime) VALUES('AT','AT',now());

END

;;

DELIMITER ;

查看结果,结果正确:

mysql事件不定时执行_Mysql 中的事件//定时任务相关推荐

  1. 【Linux】23.ubuntu定时执行脚本/etc/crontab 和 定时任务不执行的解决办法

    ubuntu定时执行脚本/etc/crontab 和 定时任务不执行的解决办法 定时任务失效的问题: 如果发现/etc/crontab中的定时任务没执行,可以使用/etc/init.d/cron st ...

  2. java获取mysql数据定时执行_mysql 事件处理(定时触发某个任务或存储过程等)

    自MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录.对数据进行汇总等等),来取代原先只能由操作系统的计划任 ...

  3. mysql sql先后执行_MySQL中SQL语句执行顺序

    (7) SELECT (8) DISTINCT (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) HAVING (9) ORDER BY (10) ...

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

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

  5. mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目

    触发器(Trigger)的起源 MySQL是最受欢迎的开源RDBMS,被社区和企业广泛使用.触发器是MySQL在5.0.1(开天辟地一版本)中增加的三大新功能之一,另外两个师兄弟是视图(view)与存 ...

  6. mysql wait for_mysql定时执行及延时执行,实现类似sql server waitfor功能

    熟悉SQL Server的人都知道,它有一个很有用的功能,waitfor time和waitfor delay,前者表示在某个时间执行,后者表示等待多长时间执行.在我们测试功能和定时执行的时候特别有用 ...

  7. mysql如何查看事务日记_MySQL中的几种日志了解

    前言 MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slo ...

  8. mysql重做日志恢复数据_MySQL中重做日志,回滚日志,以及二进制日志的简单总结...

    MySQL中有六种日志文件, 分别是:重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log). ...

  9. mysql去除select换行符_MySQL中去除字段中的回车符和换行符

    问题: 在使用[ load data infile 'D:/node.txt' into table node fields terminated by '\t'; ]语句批量导入如下图所示的aaa. ...

最新文章

  1. WorldWind Java 版学习:10、服务器响应
  2. android界面基本属性
  3. angularjs 1.3 综合学习 (one way bind , ng-if , ng-switch , ng-messages, ng-form ,ng-model )
  4. Java parallel control
  5. BASIS--如何删除开发用户的开发Key
  6. CEO 赠书 | 决策是一个技术活,如何做「对」的事?
  7. 自学机器学习、深度学习、人工智能学习资源推大聚合
  8. CentOS 初体验四: 阿里云服务器开启8080端口
  9. 织梦dedecsm系统企业简介类单栏目模版如何修改和调用
  10. Micronaut for Spring支持Spring Boot应用以Micronaut形式运行
  11. 微型计算机储存信息的基本单位是什么,16.磁盘存储器存、取信息的最基本单位是...
  12. CentOS7 安装MongoDB 3.0服务
  13. Python 新式类与经典类
  14. 在容器内源码安装PostgreSQL13.2
  15. Python定时任务轻量解决方案---Schedule
  16. mysql 分库分表 后怎么操作,MySQL要分表分库怎么进行数据切分?
  17. CMU科学家们带一群机器人开房,并收集了28,000种不同的姿势
  18. case / switch语句的Python等价物是什么? [重复]
  19. 笔记本电脑VGA与DVI接口的区别(转)
  20. 全网疯传!传智播客java基础入门第二版pdf

热门文章

  1. EditText设置可以编辑和不可编辑状态
  2. HDOJ 1286 HDU 1286 找新朋友 ACM 1286 IN HDU
  3. 转载sanmusoft 论电脑报论坛的挂掉及电脑报的最后倒掉
  4. RestTemplate HttpMessageConverter报错的解决方案no suitable HttpMessageConverter
  5. brew update失败提示:/System/Library/Frameworks/Ruby.framework/。。。解决方法
  6. 美团智能搜索推荐模型预估框架的建设与实践
  7. 阿里文娱搜索排序算法实践和思考(附交流视频和PPT下载链接)
  8. 比特币系列——竞争币、竞争块链和应⽤程序
  9. knn算法实例python_Python实现的knn算法示例
  10. hdf5 目录没有serial_Serial靶机实战