mysql的Event 及 时间 操作

1、距离当前 多长时间 执行

DELIMITER $$

ALTER DEFINER=`admin`@`%` EVENT `epnrupdatestatusagain` ON SCHEDULE EVERY 1 DAY STARTS ‘2015-07-24 14:45:00‘ ON COMPLETION PRESERVE ENABLE DO BEGIN
UPDATE diyfare.`pnr`
SET diyfare.`pnr`.`Status`=2
WHERE diyfare.`pnr`.`Status` != 2
AND NOW() BETWEEN DATE_SUB(diyfare.`pnr`.`Deadline`, INTERVAL 1 DAY) AND diyfare.`pnr`.`Deadline`;
END$$

DELIMITER ;

DATE_SUB  前

DATE_ADD 后

获取当前时间  SELECT NOW();

2、EVENT

--查看是否开启定时器

show variables like ’%sche%’;

--开启定时器

set global event_scheduler =1;

--改变分隔符
mysql> delimiter //

--创建存储过程
mysql> create procedure PRO_lqy_test_insert_23()
    -> begin
    -> insert into lqy_test(title,content,createtime) values(‘title titles‘,‘con
tent contents‘,now());
    -> end//
Query OK, 0 rows affected (0.00 sec)

--创建事件,每天15:15:00执行

mysql> create event EVENT_lqy_test_insert_23
    -> on schedule
    -> every 1 day starts ‘2012-04-24 15:15:00‘
    -> do call PRO_lqy_test_insert_23()//
Query OK, 0 rows affected (0.00 sec)

mysql> delimiter ;

--启动事件
mysql> alter event EVENT_lqy_test_insert_23 on
    -> completion preserve enable;
Query OK, 0 rows affected (0.00 sec)

--关闭事件

mysql> alter event EVENT_lqy_test_insert_23 on
    -> completion preserve disable;
Query OK, 0 rows affected (0.00 sec)

时间: 2024-10-05 07:26:05

mysql的Event 及 时间 操作的相关文章

[数据库] Navicat for MySQL事件Event实现数据每日定期操作

在我们操作数据库过程中,通常会遇到一些某个时间点操作数据库的问题,例如:        (1).每天凌晨12点对数据库进行定时备份,结算和汇总:        (2).每天凌晨2点删除数据库前三天的数据:        (3).插入某个数据超过一定时间改变某个值的状态,比如预警系统.        这里就需要通过Event事件进行简单操作,下面将详细处理.你可能会想到通过触发器实现,但是如果是同一张表Insert插入数据后,但是触发器再进行Update更新操作是不行的,所以需要尝试通过Event

mysql时间操作函数和存储过程

由于业务需要统计一批数据,用到关于mysql的时间操作函数和存储过程,问题已经基本解决,把过程记录下: 1. mysql的语句中不支持直接用循环,循环只能在存储过程中使用: 2. 写为文件时,注意一些隐藏的字符,造成语法错误.本例中注释中包含一些不可见字符,没有找到. 3. 存储过程中尽量多使用分好,分割开语句.本例中 drop一句最初没有写,导致一直有错. 4. 时间函数很强大,可以避免一些工作.http://www.cnblogs.com/ggjucheng/p/3352280.html 5

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 [sql] view plaincopy <span style="font-family: 'Microsoft YaHei'; font-size: 14px;">MySQL定时任务event</span> 由于一些业务需求,我们可能需要定时清除数据库一些废弃的数据

Mysql中Event的一些测试

Mysql的event schedule可以让你设置你的mysql数据库在某个时间段执行你想要的动作create event test1on schedule every 1 daystarts '2007-09-01 12:00:00'on completion not preservedo insert into yyy values('hhh','uuu');或create event teston schedule at '2007-09-01 12:00:00' + interval

mysql中event的用法详解

一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程. 二.适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理. 例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表. 三.使用权限单独使用event调用SQL语句时,查看和创建

MySQL之event的介绍

MySQL5.1.6版本中引入了一项新特性EVENT,顾名思义就是事件.定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能.其实MySQL的EVENT 功能和linux下的的at.crontab或Windows下的Task Scheduler计划任务类似. 也被称为MySQL事件调度器(Event Scheduler),可以在某一个时间点执行一个SQL语句或一个语句块(BEGIN ... END):或者每隔固定间隔重复执行

mysql和java的时间对应关系

引用:http://blog.csdn.net/xinghuo0007/article/details/51500923 MySQL(版本:5.1.50)的时间日期类型如下: datetime 8bytes xxxx-xx-xx xx:xx:xx 1000-01-01 00:00:00到9999-12-31 23:59:59 timestamp 4bytes xxxx-xx-xx xx:xx:xx 1970-01-01 00:00:01到2038 date 3bytes xxxx-xx-xx 1

PHP 时间操作

日期操作很常用.下面是一个简单的功能.主要是需要区分PHP中常用的时间结构.请看下面的一段代码,涉及到了大部分的时间操作函数,相信会有帮助. <?php error_reporting(7); ini_set('display_errors', 1); ini_set('date.timezone','Asia/Shanghai'); $start_str = '2015-01-01 23:00:00'; $end_str = '2015-01-30 23:00:00'; for($i = 0;

通过MySQL的UDFs和Trigger操作Memcached

通过MySQL的UDFs和Trigger操作Memcached UDFs是User Defined Functions的缩写,表示MySQL的用户定义函数,应用程序可以利用这些函数从MySQL 5.0以上版本的数据库中访问Memcached写入或者获取的数据.此外,MySQL从5.1版本开始支持触发器,从而可以在触发器中使用UDFs直接更新Memcached的内容,这种方式降低了应用程序设计和编写的复杂性.下面简单介绍UDFs的安装和使用. UDFs安装 安装UDFs,需要依次安装MySQL.l