Mysql中的事件

一、什么是事件

永利澳门游戏网站,一组SQL集,用来实行依期职分,跟触发器很像,都以浑浑噩噩实行的,事件是因为时间到了接触推行,而触发器是因为某事件(增加和删除改)触发执行;

二、开启事件

查阅是不是开启:

show variables like 'event_scheduler';

永利澳门游戏网站 1

万一展现OFF,则输入以下语句开启:

set global event_scheduler = off;

三、自定义轻便的事件

新建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] PRESELacrosseVE
:表示当岁月不会发出后,删除事件(注意一定期刻的平地风波,假若设置了该参数,实践完成后,事件将被去除,不想删除的话能够设置成ON
COMPLETION PRESEMuranoVE);

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 ;

新建二个风云,特准时刻二零一五-01-17 15:30:00插入一条数据

-- ------------------------------ 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 ;

翻开结果,结果正确:

永利澳门游戏网站 2

发表评论

电子邮件地址不会被公开。 必填项已用*标注