MySQL事件的创建和执行
建立一个MySQL事件,首先我们需要建立一个或多个储存过程。示例如下
CREATE DEFINER=`vike0906`@`localhost` PROCEDURE `forTest`()LANGUAGE SQLNOT DETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT '' BEGINSET @startTime = date_sub(curdate(),INTERVAL 0 DAY);SET @testSql=CONCAT("INSERT INTO hot_ali_bind (uid, channel, ali_num, ali_name, updatetime)(SELECT a.uid uid, b.channel channel, a.u_high ali_num, a.u_name ali_name, ? updatetimeFROM hot_userinfo a LEFT JOIN hot_call_deduction_log b ON a.uid = b.userId WHERE a.id = 319)");PREPARE stmt FROM @testSql;EXECUTE stmt USING @startTime;DEALLOCATE PREPARE stmt; END
过程体:
BEGINSET @startTime = date_sub(curdate(),INTERVAL 0 DAY);SET @testSql=CONCAT("INSERT INTO hot_ali_bind (uid, channel, ali_num, ali_name, updatetime)(SELECT a.uid uid, b.channel channel, a.u_high ali_num, a.u_name ali_name, ? updatetimeFROM hot_userinfo a LEFT JOIN hot_call_deduction_log b ON a.uid = b.userId WHERE a.id = 319)");PREPARE stmt FROM @testSql;EXECUTE stmt USING @startTime;DEALLOCATE PREPARE stmt; END
紧接着我们来建立一个一分钟执行一次的事件:
CREATE DEFINER=`vike0906`@`localhost` EVENT `ceshi`ON SCHEDULEEVERY 1 MINUTE STARTS '2018-03-22 16:53:23'ON COMPLETION PRESERVEENABLECOMMENT '我是备注'DO BEGINCALL forTest();END
一个事件可以执行多个储存过程,只需要添加CALL xx();就行
在时间建立完成后发现事件并没有按我们设想的去执行,此时我们需要去查看数据库的事件是否开启(两条SQL作用一样)
show variables like 'event%';show variables like 'event_scheduler';
结果如图:
Variable_name | Value |
event_scheduler | OFF |
此时我们需要开启事件(两条SQL作用一样):
set global event_scheduler = NO;set global event_scheduler = 1;
至此我们发现事件已经能够按我们设想的那样执行了。
另.
在my.cnf中添加event_scheduler=ON,可以使MySQL数据库在重启时事件自动开启,Windos下是my.ini,在MySQL的安装目录。
转载于:https://www.cnblogs.com/vike0906/p/8628622.html
MySQL事件的创建和执行相关推荐
- Mysql事件的创建和使用
1.查看事件是否开启 SHOW VARIABLES LIKE 'event_scheduler'; 2.开启事件 SET GLOBAL event_scheduler = ON; 3.创建事件 DEL ...
- mysql 事件计划区别_MySQL 计划事件
MySQL 计划事件 简介:在本教程中,您将了解MySQL事件调度程序以及如何创建MySQL事件以自动执行数据库任务. MySQL事件是基于预定义的计划运行的任务,因此有时它被称为计划事件.MySQL ...
- 使用mysql事件_MySQL事件的使用详解
在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句.这个时候就会用到mysql事件,使用这个功能必须保证是mysql的版本是5.1以上. 1.首先要查看事件是否开启了,SHOW V ...
- mysql事件调度定时任务_详解MySQL用事件调度器Event Scheduler创建定时任务
前言 事件调度器相当于操作系统中的定时任务(如:Linux中的cron.Window中的计划任务),但MySql的事件调度器可以精确到秒,对于一些实时性要求较高的数据处理非常有用. 1. 创建/修改事 ...
- mysql数据库事件不执行_如何查看mysql事件是否执行
如何查看mysql事件是否执行 发布时间:2020-06-01 17:07:38 来源:PHP中文网 阅读:187 作者:三月 下文给大家带来关于如何查看mysql事件是否执行,感兴趣的话就一起来看看 ...
- mysql事件创建_mysql 创建事件
mysql 事件说明: 创建事件CREATE EVENT 的语法如下: CREATE EVENT [IF NOT EXISTS] ----------------------------------- ...
- mysql事件不定时执行_Mysql 中的事件//定时任务
什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 开启事件 查看是否开启: show variables ...
- MySQL数据库:创建一个表,并执行插入、修改和删除数据操作
一: 展示数据库:mysql> show databases; 二: 创建数据库:create database company;使用所创建的数据库:mysql> use company; ...
- mysql创建定时任务执行存储过程
存储过程已添加好:https://blog.csdn.net/YXWik/article/details/127283316 1.创建定时器用来执行存储过程函数 create event delete ...
最新文章
- 飓风“桑迪”路径图的制作
- 树莓派安装oepncv3.43
- Agentless方式监控,让所有网络都有管理员
- Android样式开发--selector
- 图像旋转(信息学奥赛一本通-T1127)
- ArcGIS GP应用-GP模型服务发布
- Ubuntu tee
- 【学习OpenCV4】滚动条Trackbar的创建与使用详解
- 封条格式用word怎么打_封条格式用word怎么打
- 搜索文件夹中word文档中的关键字
- php 卡路里计算,热量换算_懒人工具|www.ab173.com
- 成功解决win7安装python过程,Setup failed,需要安装Windows 7 Service Pack 1
- ORACEL R12 总账和子账的关系
- MySQL的事务和存储引擎
- 树莓派3B+安装CentOS 7
- Sinon 入门,看这篇文章就够了
- windows系统服务器怎么锁屏,电脑怎么锁屏?锁屏快捷键是什么?
- 电脑显示器基本设置与故障处理
- 易快报对接飞书的五个关键步骤
- 月入过万的steam搬砖项目教程拆解,看这一篇就够了
热门文章
- 【从零开始学极狐gitlab】07作业关键字allow_failure、when、timeout(二) #JIHULAB101
- macOS Ventura no matching host key type found. Their offer: ssh-rsa
- java socket通信 客户端_JavaのSocket编程之简单客户端与服务器端通信
- eclipse自动排版快捷键 按了没有用 的解决办法
- 拔萝卜MySQL_mysql考题
- failed to respond问题查找
- 怎么样使用TextPad工具,其实没那么复杂!
- 3.4 Docker最新入门教程-Docker入门-共享应用程序
- linux 进程数据结构,Linux进程数据结构详解
- html字数不同相同宽度的按钮,HTML_按钮在IE中两边被拉伸的 BUG,大家在写按钮(input、button) - phpStudy...