当前位置:Gxlcms > 数据库问题 > Mysql中的事件(定时任务)

Mysql中的事件(定时任务)

时间:2021-07-01 10:21:17 帮助过:2人阅读

event_scheduler;

技术分享

如果显示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] 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插入一条数据

-- ----------------------------
-- 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中的事件(定时任务)

标签:

人气教程排行