Mysql中Event的一些测试
作者:网络转载 发布时间:[ 2014/7/23 11:50:01 ] 推荐标签:MySQL 测试技术
1)首先来看一个简单的例子来演示每秒插入一条记录到数据表:
use test
create table aaa(timeline timestamp);
create event e_test_insert
on schedule every 1 second
do insert into test.aaa values(current_timestamp);
等待三秒,再执行查询看看:
mysql>select * from test.aaa;
可以看到有三条数据存在
2)5天后清空aaa表:
create event e_test
on schedule at current_timestamp+interval 5 day
do truncate table test.aaa;
3)2007年7月20日12点整清空aaa表:
create event e_test
on schedule at timestamp '2007-07-20 12:00:00'
do truncate table test.aaa;
4)每天定时清空aaa表:---执行之后,是指每天当前创建时间执行该event
create event e_test
on schedule every 1 day
do truncate table test.aaa;
5)5天后开启每天定时清空aaa表:
create event e_test
on schedule every 1 day
starts current_timestamp +interval 5 day
do truncate table test.aaa;
6)每天定时清空aaa表,5天后停止执行:
create event e_test
on schedule every 1 day
ends current_timestamp + interval 5 day
do truncate table test.aaa;
7)5天后开启每天定时清空aaa表,一个月后停止执行
create event e_test
on schedule every 1 day
starts current_timestamp + interval 5 day
ends current_timestamp + interval 1 month
do truncate table test.aaa;
三,修改事件(alter event)
alter event event_name
[on schedule schedule]
[rename to new_event_name]
[on completion [not] preserve]
[comment 'comment']
[enable|disable]
[do sql_statement]
1)临时关闭事件
alter event e_test disable
2)开启事件
alter event e_test enable
3)将每天清空aaa表修改成每5天清空一次
alter event e_test
on schedule every 5 day;
四,删除事件(drop event)
语法很简单,如下所示:
drop event [if exists] event_name
例如删除前面创建的e_test事件
drop event e_test
当前前提是这个事件存在,否则会产生error 1513(HY000):unknown event错误,因此好加上if exists
drop event if exists e_test
另外当在my.ini或者my.cnf中添加了event_scheduler=1参数,那么在mysql启动之后,存在的event还是会继续运行.
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11