• MySQL事件 Events


    一、关键字: EVENT
     
    二、语法:
    CREATE EVENT?
    [IF NOT EXISTS ] //如果不存在则创建
    event_name?
    ON SCHEDULE schedle
    [ON COMPLETION [NOT] PRESERVE]
    [ENABLE|DESABLE]
    [COMMENT 'comment']
    DO sql_statement
     
    说明:
    1.event_name 事件的名称
     
    2.ON SCHEDULE
    有两种设定计划任务的方式:
     
    #单次计划任务:
    AT 时戳
     
    #重复的计划任务
    EVERY 时间(单位)的数量 时间单位 [STARTS 时戳][ENDS 时戳]
     
    在两种计划任务中,时戳可以是任意的TIMESTAMP 和DATETIME 数据类型,要求提供的是将来的时间(大于CURRENT_TIMESTAMP),而且小于Unix时间的最后时间(等于或小于'2037-12-31 23:59:59')
     
    时间单位是关键词:YEAR,MONTH,DAY,HOUR,MINUTE 或者SECOND
     
    3.[ON COMPLETION [NOT] PRESERVE]
    COMPLETION 当单次计划任务执行完毕后或当重复性的计划任务执行到了ENDS阶段。而声明PRESERVE的作用是使事件在执行完毕后不会被Drop掉
     
    4.[ENABLE|DESABLE]
    ENABLE 开启事件
    DESABLE 关闭事件
     
    5.COMMENT
    注释
     
    6.DO sql_statement
    执行的sql语句
     
    三、通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。?
     
    查看是否event_scheduler开启
    mysql> SHOW VARIABLES LIKE '%event%';
     
    设置开启
    mysql> SET GLOBAL event_scheduler=ON;
     
    四、例子:
     
    每分钟插入一条日志:
    DELIMITER //
    CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 MINUTE STARTS '2010-12-27 00:00:00'?
    ON COMPLETION NOT PRESERVE ENABLE DO?
    BEGIN?
    INSERT INTO log SET addtime=NOW();
    END
    //
     
    DELIMITER //
    CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 DAY STARTS '2010-00-00 00:00:00'?
    ON COMPLETION NOT PRESERVE ENABLE DO?
    BEGIN
    CALL user_log_prov();
    END
    //
  • 相关阅读:
    CompletableFuture java 8新增加异步处理
    Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore , Condition
    怎么让一个不定宽高的div垂直水平居中?
    数组对象方法排序
    Webpack ERROR in Path must be a string. Received undefined
    es6 babel转码器安装配置及常见命令
    使用淘宝镜像cnpm安装Vue.js
    JS中的call()和apply()方法
    placeholder颜色更改
    typeof与js数据类型
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4563656.html
Copyright © 2020-2023  润新知