mysql数据库中的事件_[数据库]MySQL中的事件/定时任务

[数据库]MySQL中的事件/定时任务

0 2018-07-18 04:01:32

转载自 variables like 'event_scheduler';

bc91bb04e6e9c61e24c974e4440db8f2.gif

如果显示OFF,则输入以下语句开启:set global event_scheduler = on;

提醒:虽然这里用set global event_scheduler = on语句开启了事件,但是每次重启电脑。或重启mysql服务后,会发现,事件自动关闭(event_scheduler=OFF),所以想让事件一直保持开启,最好修改配置文件,让mysql服务启动的时候开启时间,只需要在my.ini配置文件的[mysqld]部分加上event_scheduler=ON 即可,如下:

bc91bb04e6e9c61e24c974e4440db8f2.gif

自定义事件举例

首先、新建user表:

bc91bb04e6e9c61e24c974e4440db8f2.gif-- ------------------------------ 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;

bc91bb04e6e9c61e24c974e4440db8f2.gif

然后、新建事件,有两种事件类型,一个是间隔触发,另一个是特定事件触发。

类型一:每隔一分钟插入一条数据:

参数说明:

DEFINER:创建者;

ON COMPLETION [NOT] PRESERVE :表示当事件不会再发生的情况下,删除事件(注意特定时间执行的事件,如果设置了该参数,执行完毕后,事件将被删除,不想删除的话可以设置成ON COMPLETION PRESERVE);

ENABLE:表示系统将执行这个事件;

bc91bb04e6e9c61e24c974e4440db8f2.gif-- ------------------------------ 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 ;

bc91bb04e6e9c61e24c974e4440db8f2.gif

类型二:特定时间插入一条数据,如2016-01-17 15:30:00

参数说明:

DEFINER:创建者;

ON COMPLETION [NOT] PRESERVE :表示当事件不会再发生的情况下,删除事件(注意特定时间执行的事件,如果设置了该参数,执行完毕后,事件将被删除,不想删除的话可以设置成ON COMPLETION PRESERVE);

ENABLE:表示系统将执行这个事件;

bc91bb04e6e9c61e24c974e4440db8f2.gif-- ------------------------------ 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 ;

bc91bb04e6e9c61e24c974e4440db8f2.gif

查看结果,结果正确:

bc91bb04e6e9c61e24c974e4440db8f2.gif 本文网址:http://www.shaoqun.com/a/360019.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

MYSQL

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值