我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySql定时执行SQL

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySql定时执行SQL

好久没写博客了,因为没啥可写,感觉自己对技术的追求已经没有那么强烈了。今天总结一下mysql自带的定时计划。

首先show variables like '%event_sche%';查询定时策略是否开启,如果是关闭的话,需要先开启哦。
执行语句即可:set global event_scheduler=1;

  1. 创建存储过程
    下述案例创建了 名为test_proce的存储过程函数,方便创建事件,事件直接调用该存储过程。
use miaosuyun;delimiter //create procedure test_proce()beginUPDATE order_course ajoin (SELECTB.* FROM(SELECTROW_NUMBER() over ( PARTITION BY a.id ) AS row_num,A.* FROMorder_course A WHEREA.course_username IN (SELECTcourse_username FROMorder_course WHEREcourse_status IN ( '2', '4' ,'12') GROUP BYcourse_username HAVINGSUM( CASE WHEN course_status = '4' THEN 1 ELSE 0 END ) = 0 AND SUM( CASE WHEN course_status = '12' THEN 1 ELSE 0 END ) = 0 AND SUM( CASE WHEN course_status = '2' THEN 1 ELSE 0 END ) > 0 ) AND A.course_status = '2' ) BWHEREB.row_num = 1 ) b on a.id = b.id  set a.course_status = '1';update order_course a join (select *from order_course a where a.course_status in ('3','4')  and a.recent_update_time <= DATE_SUB(NOW(), INTERVAL 10 MINUTE)) b on a.id = b.idset a.course_status = '1',a.error_msg= null,a.cookie=null,a.watch_finish_rate=0;end//delimiter ;
  1. 创建事件
-- 删除事件drop event second_event-- 创建事件 并 每隔300秒调用一次 create event second_eventon schedule every 300 seconddo call test_proce();

常用定时执行计划

-- 表示创建后并不开始生效on completion preserve disableon schedule every 1 second //每秒执行1次on schedule every 2 minute //每两分钟执行1次on schedule every 3 day //每3天执行1次on schedule at current_timestamp()+interval 5 day //5天后执行on schedule at current_timestamp()+interval 10 minute //10分钟后执行on schedule at '2016-10-01 21:50:00' //在2016年10月1日,晚上9点50执行on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //5天后开始每天都执行执行到下个月底on schedule every 1 day ends current_timestamp()+interval 5 day //从现在起每天执行,执行5天
  1. 开启/关闭 任务
event second_eventalter event second_event on completion preserve enable;event second_eventalter event second_event on completion preserve disable;
  1. 查询事件
SELECT event_name,event_definition,interval_value,interval_field,status,last_executed FROM information_schema.EVENTS;

来源地址:https://blog.csdn.net/huijiaaa1/article/details/129631181

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySql定时执行SQL

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySql定时执行SQL

好久没写博客了,因为没啥可写,感觉自己对技术的追求已经没有那么强烈了。今天总结一下mysql自带的定时计划。 首先show variables like '%event_sche%';查询定时策略是否开启,如果是关闭的话,需要先开启哦
2023-08-18

怎么用mysql自带的定时器定时执行sql

本篇内容主要讲解“怎么用mysql自带的定时器定时执行sql”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用mysql自带的定时器定时执行sql”吧!需求每天往一个表里面插入两条数据,但日期
2023-03-02

如何用mysql自带的定时器定时执行sql(每天0点执行与间隔分/时执行)

目录需求1.查看是否开启定时策略2.创建存储函数,存储定时执行的事件3.创建定时任务4.查看创建的定时任务5.开启或关闭定时任务补充:ON SCHEDULE后面可以 自由发挥补充:定时器常用案例总结需求每天往一个表里面插入两条数据,但日期
2023-03-01

SQLServer 2000定时执行SQL语句

如果你维护的数据表一方面依靠其他模块的数据表,另一方面又对其他模块进行数据支持,并且这些表都是实时更新的,那么就不能通过页面调用SQL语句等方式来更新数据表,只能让数据表定时自动更新。
2022-11-21

mysql怎么设置sql最大执行时间

在MySQL中,可以通过设置会话级的max_execution_time变量来控制SQL的最大执行时间。可以通过以下步骤设置SQL的最大执行时间:打开MySQL的配置文件my.cnf(或my.ini)。在[mysqld]部分添加或修改以下
2023-10-24

解读springboot配置mybatis的sql执行超时时间(mysql)

这篇文章主要介绍了解读springboot配置mybatis的sql执行超时时间(mysql),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-12

spring执行定时任务

定义一个任务是很简单的实现TimerTask的run方法就可以了.如下:SayHelloTask.javapackage test.timerTask;import java.util.TimerTask;public class SayH
2023-06-03

python定时执行--每天

以下代码实现了python的每天定时执行:import datetimeimport timeimport pymysqldef doSth(): # print('test') conn = pymysql.Connect(
2023-01-31

编程热搜

目录