MySQL定时器开启、调用实现代码
2023-06-13 09:14:42 时间
创建测试表
复制代码代码如下:
CREATETABLEt
(
vVARCHAR(100)NOTNULL
)ENGINEINNODBDEFAULTCHARSET=utf8;
创建定时器调用的存储过程
DELIMITER$$
DROPPROCEDUREIFEXISTSe_test$$
CREATEPROCEDUREe_test()
BEGIN
INSERTINTOtVALUES("1");
END$$
DELIMITER;
要使定时起作用MySQL的常量GLOBALevent_scheduler必须为on或者是1
--查看是否开启定时器
SHOWVARIABLESLIKE"%sche%";
--开启定时器0:off1:on
SETGLOBALevent_scheduler=1;
--创建事件
--每隔一秒自动调用e_test()存储过程
CREATEEVENTIFNOTEXISTSevent_test
ONSCHEDULEEVERY1SECOND
ONCOMPLETIONPRESERVE
DOCALLe_test();
--开启事件
ALTEREVENTevent_testON
COMPLETIONPRESERVEENABLE;
--关闭事件
ALTEREVENTevent_testON
COMPLETIONPRESERVEDISABLE;
从现在开始每隔九天定时执行
CREATEEVENTEVENT1
ONSCHEDULEEVERY9DAYSTARTSNOW()
ONCOMPLETIONPRESERVEENABLE
DO
BEGIN
CALLTOTAL();
END
每个月的一号凌晨1点执行
CREATEEVENTEVENT2
ONSCHEDULEEVERY1MONTHSTARTSDATE_ADD(DATE_ADD(DATE_SUB(CURDATE(),INTERVALDAY(CURDATE())-1DAY),INTERVAL1MONTH),INTERVAL1HOUR)
ONCOMPLETIONPRESERVEENABLE
DO
BEGIN
CALLSTAT();
END
每个季度一号的凌晨2点执行
CREATEEVENTTOTAL_SEASON_EVENT
ONSCHEDULEEVERY1QUARTERSTARTSDATE_ADD(DATE_ADD(DATE(CONCAT(YEAR(CURDATE()),"-",ELT(QUARTER(CURDATE()),1,4,7,10),"-",1)),INTERVAL1QUARTER),INTERVAL2HOUR)
ONCOMPLETIONPRESERVEENABLE
DO
BEGIN
CALLSEASON_STAT();
END
每年1月1号凌晨四点执行
CREATEEVENTTOTAL_YEAR_EVENT
ONSCHEDULEEVERY1YEARSTARTSDATE_ADD(DATE(CONCAT(YEAR(CURDATE())+1,"-",1,"-",1)),INTERVAL4HOUR)
ONCOMPLETIONPRESERVEENABLE
DO
BEGIN
CALLYEAR_STAT();
END
MySQL的event在进行按月,季,年进行自动调用存储过程时,为了测试可以把系统改为年的最后一天,如2010-12-3123:59:55;
相关文章
- 退出MySQL命令:Linux操作技巧(linux退出mysql命令)
- 查询MySQL遍历查询:精彩体验。(mysql遍历)
- 状查询MySQL中实现树状查询的精彩之处(mysql树)
- MySQL 快速创建新用户的方法(mysql创建新用户)
- MySQL数据库技术备案(mysql温备)
- MySQL中默认密码的保护(mysql的默认密码)
- 探索MySQL安装路径:一个指南(查看mysql安装路径)
- 管理系统用MySQL实现的图书管理系统(mysql图书)
- MySQL查询:以逗号分隔的方式实现(mysql逗号分隔查询)
- MySQL时间类型详解(mysql时间的类型)
- 轻松掌握MySQL在线检测技巧实现高效数据安全管理(mysql在线检测)
- Mysql数据库实现定时同步(mysql数据库定时同步)
- MySQL数据表前缀谨慎使用的重要性(mysql数据表前缀)
- 让MySQL数据库查询更快利用MySQL索引加速数据库查询(mysql 创建索引)
- MySQL主从复制实现数据同步的关键(mysql中主从关系)
- MySQL 中 View 视图的作用和使用方法(mysql 中 view)
- 驱动C语言如何添加MySQL驱动(c 中怎么添加mysql)
- MySQL中C语言实现模糊查询的技术要点(c mysql模糊查询)
- MySQL嵌套事务与C语言编程技术实现(c mysql嵌套事务)
- MySQL中错误代码1248的含义及解决方法(mysql中1248)
- MySQL实现数据束自动化处理(bundle mysql)
- MySQL转换Oracle实现数据库迁移(mysql转换oracle)
- 一款可以高效提高MySQL效率的工具8 for MySQL(8 for mysql)
- MySQL怎样将长文本拆分成多行(mysql 一行拆成多行)
- MySQL年份4提高数据处理效率的技巧(mysql year 4)
- MySQL多库同步实现方法分享(mysql不同库同步)
- Hive的数据存储与管理MySQL与Hive结合的最佳实践(mysql下hive)
- MySQL实现不为空判断的方法详解(mysql不空判断)
- 提高性能使用MySQL不查询列的技巧(mysql不查询列)
- MySQL实现不插入重复键(mysql不插入重复键)