IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mysql创建定时任务,根据过期时间更新状态 -> 正文阅读

[大数据]Mysql创建定时任务,根据过期时间更新状态

目录

1、创建测试表和添加数据

2、创建函数

3、调用函数执行方式

3.1?直接调用函数

3.2?创建事件定时执行

3.3?开启定时任务

3.4?开启或者关闭定时任务

3.5?执行后的数据如下


1、创建测试表和添加数据

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for expire_time_data
-- ----------------------------
DROP TABLE IF EXISTS `expire_time_data`;
CREATE TABLE `expire_time_data`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '名称',
  `expire_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间',
  `status` int(3) NULL DEFAULT NULL COMMENT '状态:0-有效期,1-无效期',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of expire_time_data
-- ----------------------------
INSERT INTO `expire_time_data` VALUES (1, '第一条数据', '2022-07-14 10:01:32', 1, '2022-07-14 10:26:10');
INSERT INTO `expire_time_data` VALUES (2, '第二条数据', '2022-07-14 10:01:47', 1, '2022-07-14 10:26:10');
INSERT INTO `expire_time_data` VALUES (3, '第三条数据', '2022-07-15 10:04:54', 0, NULL);

SET FOREIGN_KEY_CHECKS = 1;

2、创建函数

CREATE PROCEDURE update_status ( ) 
BEGIN
		UPDATE `test`.`expire_time_data` 
				SET `status` = 1,
						update_time = now( ) 
	WHERE
	`status` = 0 
	AND UNIX_TIMESTAMP( expire_time ) < UNIX_TIMESTAMP( now( ) );
END;

说明:我饿业务是判断过期时间和当前时间比较,如果当前时间大于过期时间,就把status状态更新为1。

3、调用函数执行方式

3.1?直接调用函数

CALL update_status ();

3.2?创建事件定时执行

3.3?开启定时任务

-- 查看定时任务是否开启  OFF-未开启 ON-已开启
show VARIABLES like 'event%';

3.4?开启或者关闭定时任务

-- 开启定时任务 2种方式
SET GLOBAL event_scheduler = 1;
SET GLOBAL event_scheduler = ON;

 -- 关闭定时任务 2种方式
SET GLOBAL event_scheduler = 0;
SET GLOBAL event_scheduler = OFF;

3.5?执行后的数据如下

??

4、直接创建事件定时执行

CREATE DEFINER = `root`@`localhost` EVENT `Untitled`
ON SCHEDULE
EVERY '10' SECOND STARTS '2022-07-14 10:35:00'
COMMENT '每10秒判断是否过期'
DO -- CAll update_status
	UPDATE `test`.`expire_time_data` 
				SET `status` = 1,
						update_time = now( ) 
	WHERE
	`status` = 0 
	AND UNIX_TIMESTAMP( expire_time ) < UNIX_TIMESTAMP( now( ) );
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:30:00  更:2022-07-17 16:33:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 0:32:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码