码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 用mysql自带的定时器定时执行sql,每天0点执行,间隔分/时执行


    需求

    每天往一个表里面插入两条数据,但日期不同

    INSERT INTO test(`id`, `art_training_institutions`, `places_for_performances`, `script_entertainment`, `video_game_hall`, `stage`, `ktv`, `Internet_bar`, `status`, `statistics_time`, `insert_time`) VALUES (100, 2253, 61, 546, 90, 51, 897, 1961, 1, '2022-08-24', '2022-08-25 14:00:00');
    INSERT INTO test(id`, `art_training_institutions`, `places_for_performances`, `script_entertainment`, `video_game_hall`, `stage`, `ktv`, `Internet_bar`, `status`, `statistics_time`, `insert_time`) VALUES (101, 0, 0, 0, 0, 0, 0, 0, 2, '2022-08-24', '2022-08-25 14:00:00');
    
    • 1
    • 2

    如果没有其他调度或者不想每天自己手动执行,可以考虑使用MySQL自带的定时器来做

    首先

    1.查看是否开启定时策略

    show variables like '%sche%'; 
    
    • 1

    在这里插入图片描述

    如果你的是OFF
    那就需要开启:

    set global event_scheduler=1;
    
    • 1

    2.创建存储函数,存储定时执行的事件

    根据自己的需求,修改存储函数

    CREATE PROCEDURE insert_monitor()
    INSERT INTO test( `art_training_institutions`, `places_for_performances`, `script_entertainment`, `video_game_hall`, `stage`, `ktv`, `Internet_bar`, `status`, `statistics_time`)
    select 2253, 61, 546, 90, 51, 897, 1961, 1, CURRENT_DATE
    union all
    select 0, 0, 0, 0, 0, 0, 0, 2, CURRENT_DATE
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.创建定时任务

    -- 每天0点执行
    create event if not EXISTS my_monitor 
    on schedule every  1 DAY STARTS date(CURRENT_DATE+1) 
    on completion preserve  do call insert_monitor(); 
    
    • 1
    • 2
    • 3
    • 4

    4.查看创建的定时任务

    show events;
    或者
    select * from mysql.event;
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    删除

    drop event my_monitor 
    
    • 1

    如果不想删除,可以考虑将它关闭

    5.开启或关闭定时任务

    -- 关闭
    alter event my_monitor on COMPLETION PRESERVE DISABLE;  
    -- 开启
    alter event my_monitor on COMPLETION PRESERVE ENABLE;  
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    补充:ON SCHEDULE后面可以 自由发挥

    • 每天凌晨一点执行定时任务
    on schedule every  1 DAY STARTS DATE_ADD(DATE(CURRENT_DATE+1), interval 1 hour)
    on schedule EVERY 1 DAY STARTS date_add(date( ADDDATE(curdate(),1)),interval 1 hour) 
    
    • 1
    • 2
    • 特定的日期特定的时间点执行定时任务
    ON SCHEDULE at '2019-10-10 19:14:10'
    
    • 1
    • 每五分钟执行一次定时任务
    ON SCHEDULE EVERY 5 MINUTE STARTS CURDATE() 
    
    • 1
    • 每小时执行一次定时任务
    ON SCHEDULE EVERY 1 HOUR STARTS CURDATE() 
    
    • 1

    at 特定时间执行,every 重复执行

    参考 MySQL - 定时任务(每天凌晨1点、每小时、每分钟、某一时间点)

  • 相关阅读:
    智能电表远程抄表在电力系统中的运用分析
    自举电容充电回路分析
    全球No.1集装箱人工智能企业CIMCAI中集飞瞳,集装箱信息识别铅封号识别API免费,集装箱识别率99.98%高泛化性,全球两千+企业用户使用
    mysql安装完全排坑指南
    力扣每日一题63:不同路径||
    如何通过文件自动备份软件进行自动化备份?
    【项目源码】一套基于springboot+Uniapp框架开发的智慧医院3D人体导诊系统源码
    向量数据库:新一代的数据处理工具
    16 拉格朗日定理和函数的单调性
    基于STM32+华为云IOT设计的火灾感知系统
  • 原文地址:https://blog.csdn.net/dz77dz/article/details/126524796
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号