建立一个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事件的创建和执行相关推荐

  1. Mysql事件的创建和使用

    1.查看事件是否开启 SHOW VARIABLES LIKE 'event_scheduler'; 2.开启事件 SET GLOBAL event_scheduler = ON; 3.创建事件 DEL ...

  2. mysql 事件计划区别_MySQL 计划事件

    MySQL 计划事件 简介:在本教程中,您将了解MySQL事件调度程序以及如何创建MySQL事件以自动执行数据库任务. MySQL事件是基于预定义的计划运行的任务,因此有时它被称为计划事件.MySQL ...

  3. 使用mysql事件_MySQL事件的使用详解

    在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句.这个时候就会用到mysql事件,使用这个功能必须保证是mysql的版本是5.1以上. 1.首先要查看事件是否开启了,SHOW V ...

  4. mysql事件调度定时任务_详解MySQL用事件调度器Event Scheduler创建定时任务

    前言 事件调度器相当于操作系统中的定时任务(如:Linux中的cron.Window中的计划任务),但MySql的事件调度器可以精确到秒,对于一些实时性要求较高的数据处理非常有用. 1. 创建/修改事 ...

  5. mysql数据库事件不执行_如何查看mysql事件是否执行

    如何查看mysql事件是否执行 发布时间:2020-06-01 17:07:38 来源:PHP中文网 阅读:187 作者:三月 下文给大家带来关于如何查看mysql事件是否执行,感兴趣的话就一起来看看 ...

  6. mysql事件创建_mysql 创建事件

    mysql 事件说明: 创建事件CREATE EVENT 的语法如下: CREATE EVENT [IF NOT EXISTS] ----------------------------------- ...

  7. mysql事件不定时执行_Mysql 中的事件//定时任务

    什么是事件 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 开启事件 查看是否开启: show variables ...

  8. MySQL数据库:创建一个表,并执行插入、修改和删除数据操作

    一: 展示数据库:mysql> show databases; 二: 创建数据库:create database company;使用所创建的数据库:mysql> use company; ...

  9. mysql创建定时任务执行存储过程

    存储过程已添加好:https://blog.csdn.net/YXWik/article/details/127283316 1.创建定时器用来执行存储过程函数 create event delete ...

最新文章

  1. 飓风“桑迪”路径图的制作
  2. 树莓派安装oepncv3.43
  3. Agentless方式监控,让所有网络都有管理员
  4. Android样式开发--selector
  5. 图像旋转(信息学奥赛一本通-T1127)
  6. ArcGIS GP应用-GP模型服务发布
  7. Ubuntu tee
  8. 【学习OpenCV4】滚动条Trackbar的创建与使用详解
  9. 封条格式用word怎么打_封条格式用word怎么打
  10. 搜索文件夹中word文档中的关键字
  11. php 卡路里计算,热量换算_懒人工具|www.ab173.com
  12. 成功解决win7安装python过程,Setup failed,需要安装Windows 7 Service Pack 1
  13. ORACEL R12 总账和子账的关系
  14. MySQL的事务和存储引擎
  15. 树莓派3B+安装CentOS 7
  16. Sinon 入门,看这篇文章就够了
  17. windows系统服务器怎么锁屏,电脑怎么锁屏?锁屏快捷键是什么?
  18. 电脑显示器基本设置与故障处理
  19. 易快报对接飞书的五个关键步骤
  20. 月入过万的steam搬砖项目教程拆解,看这一篇就够了

热门文章

  1. 【从零开始学极狐gitlab】07作业关键字allow_failure、when、timeout(二) #JIHULAB101
  2. macOS Ventura no matching host key type found. Their offer: ssh-rsa
  3. java socket通信 客户端_JavaのSocket编程之简单客户端与服务器端通信
  4. eclipse自动排版快捷键 按了没有用 的解决办法
  5. 拔萝卜MySQL_mysql考题
  6. failed to respond问题查找
  7. 怎么样使用TextPad工具,其实没那么复杂!
  8. 3.4 Docker最新入门教程-Docker入门-共享应用程序
  9. linux 进程数据结构,Linux进程数据结构详解
  10. html字数不同相同宽度的按钮,HTML_按钮在IE中两边被拉伸的 BUG,大家在写按钮(input、button) - phpStudy...