一、什么是事件一組SQL集,用來執(zhí)行定時任務(wù),跟觸發(fā)器很像,都是被動執(zhí)行的,事件是因為時間到了觸發(fā)執(zhí)行,而觸發(fā)器是因為某件事件(增刪改)觸發(fā)執(zhí)行; 二、開啟事件查看是否開啟: show variables like 'event_scheduler';
如果顯示OFF,則輸入以下語句開啟: set global 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; 新建一個事件,每隔一分鐘插入一條數(shù)據(jù): 參數(shù)說明: DEFINER:創(chuàng)建者; ON COMPLETION [NOT] PRESERVE :表示當(dāng)事件不會再發(fā)生的情況下,刪除事件(注意特定時間執(zhí)行的事件,如果設(shè)置了該參數(shù),執(zhí)行完畢后,事件將被刪除,不想刪除的話可以設(shè)置成ON COMPLETION PRESERVE); ENABLE:表示系統(tǒng)將執(zhí)行這個事件; -- ---------------------------- -- 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 新建一個事件,特定時間2016-01-17 15:30:00插入一條數(shù)據(jù) -- ---------------------------- -- 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 查看結(jié)果,結(jié)果正確:
|
|
|