• MySQL设置定时任务执行事务


    首先在创建定时任务之前要开启event_scheduler,具体如下:

    SET GLOBAL event_scheduler = 1;

    查看是否开启成功:

    SHOW VARIABLES LIKE 'event_scheduler';

    然后自己先用下面的小例子测试一下,看是不是真的可以:

    CREATE TABLE aaa(timeline TIMESTAMP);
    CREATE EVENT e_test_insert
    ON SCHEDULE EVERY 1 SECOND
    DO INSERT aaa VALUE(CURRENT_TIMESTAMP);

    然后立马查看aaa中的内容,每个1秒插入一条新数据,否则失败:

     select * from aaa;

    测试完了一定要关闭这个测试定时任务:

    alter event e_test_insert disable;

    把aaa表清空:

     delete from aaa ;

    然后删除任务:

    drop event e_test_insert;

    查看所有任务:

    show events;

    下面进入正题:

     create event delInvalidSession 
     on schedule every 5 minute 
     do 
     delete from session 
     where timestampdiff(minute,from_unixtime(time),now())>5;

    解释:
    create event delInvalidSession创建了一个名为delInvalidSession的任务。
    on schedule every 5 minute设置没5分钟运行一次。
    do 都后面就是一般的sql语句了,没有什么好奇的。
    然后关于timestampdiff(minute,from_unixtime(time),now())这个函数,解释如下,也可以自己去查阅官方文档。

  • 相关阅读:
    0.3 CMD常用命令!以及用CMD显得自己高大上
    1.0 配置JAVA环境和Maven环境(W10注意点)
    2.1 Oracle之DML的SQL语句之单表查询以及函数
    hBase
    2.0 flume、sqoop、oozie/Azkaban
    Hive
    MapReduce和yarn
    HDFS
    1.0 Hadoop的介绍、搭建、环境
    asp.net core系列 43 Web应用 Session分布式存储(in memory与Redis)
  • 原文地址:https://www.cnblogs.com/zk-blog/p/13471413.html
Copyright © 2020-2023  润新知