zoukankan      html  css  js  c++  java
  • MySQL创建一个固定频率执行且自定义"开始"时间的定时任务event

    drop event if exists evt_test;
    create event evt_test
    on schedule every 10 SECOND  -- 每10秒执行一次(second可以换成day之类的)

    /* 任务的开始时间(或说MySQL系统认定的本任务开始的时间,哪怕其实那时候还没这个任务),如果开始的时间是 now() 则会立刻do一次(类似do-while),starts可暂时理解为start at */

    starts CURDATE() do  /*(注意这个时间可以当前时间点之前的时间,且对于此任务而言,如果创建此任务后的"当前时间"的秒部分(如12.13.34)不是10的正数倍(之所以要10的整数倍是因为starts CURDATE()的时间点的秒部分是0),则会等到10的整数倍的那一秒(即12.13.40)立刻do一次)*/
    insert into student(Name, ClassName) values('ss','bb');

    show events;  -- 显示有哪些任务及它们的参数

    alter EVENT evt_test disable;  -- 修改该任务为未启动

    /* MySQL的event中的do是可以执行多条语句的,即用begin end,但是这里必须有delimiter否则不通过,具体写法如下:*/

    delimiter $$ -- 对于event而言若要do多条语句必须有这个(是不是类似SQLServer的go; ?) drop
    event if exists evt_test; create event evt_test on schedule every 10 SECOND starts CURDATE() do begin insert into student(Name, ClassName) values('ss','bb'); insert into student(Name, ClassName) values('Uk','mmm'); update student set `Name`='234m' where Name='A六'; end $$ -- $$是开头 delimiter $$ 定义的分隔符,也可以定义为别的字符/字符串,这里必须在end后加上这个分隔符(end和$$直接要有空白符)
  • 相关阅读:
    《孙子兵法》(前六篇)读书笔记
    写代码的指导思想:如何写出易测、清晰、健壮的牢固代码
    如何从业务代码中抽离出可复用的微组件
    碎碎念集萃二八
    订单同步工程标准化改造事记
    代码的味道
    批量导出51电子发票的pdf文件
    LODOP具体的分类的简短问答
    lodop打印透明图简短问答
    LODOP打印公章的白色透明2
  • 原文地址:https://www.cnblogs.com/silentdoer/p/6268722.html
Copyright © 2011-2022 走看看