MySQL 事件

2017-04-21  本文已影响13人  ChanHsu

什么是事件

一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行;

开启事件

set global event_scheduler = on;

自定义事件

间隔触发

DROP EVENT IF EXISTS `event_del_status`;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` EVENT `event_del_status` ON SCHEDULE EVERY 1 MINUTE STARTS '2017-01-17 16:17:18' ON COMPLETION NOT PRESERVE ENABLE DO 

BEGIN
    INSERT INTO prooflist(randomcode, email, hashverifycode, verifytype,createtime,count) VALUES ('test1test1test1test1', 'test2test2test2test2', 'test3', 1,current_timestamp(),1);

END
;;
DELIMITER ;

特定事件触发

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 ;
上一篇 下一篇

猜你喜欢

热点阅读