前言
很多事情没有答案
一、事件
1、事件概述
事件和触发器相似,都是在某些事情发生的时候启动。当在数据库启动一条触发语句的时候,触发器就启动了;而事件是根据调度事件来启动的。由于它们彼此相似,所有事件也称为临时性触发器(temporal trigger)
2、事件的主要作用
关闭账户;
打开或关闭数据库指示器;
使数据库中的数据在某个间隔后刷新;
执行对进入数据的复杂的检查工作。
2、创建事件
要创建事件,必须打开调度器,可以使用系统变量EVENR_SCHEDULER来打开事件调度器,TRUE为打开,FALSE为关闭
查看事件调度器 :select @@ event_scheduler;
打开事件调度器:set global event_scheduler=true;
创建事件:
create event [ if not exists ] event_name
on schedule schedule
[on completion [ not ] preserve]
[enable | disable | disable on slave ]
[comment 'comment']
do event_body;
案例:在数据库mysql_text 中创建一个事件,用于每月向customers插入一条数据,改事件开始于下个月,并于2022年12月31日结束;
delimiter &&
create event if not exists event_insert
on schedule every 1 month
starts curdate()+interval 1month
ends '2022-12-31'
do
begin
iff year (curdate () )=2020 then
insert into customers values (null,'戴俊','M','北京市','海定区');
end if ;
end &&
3、修改事件
alter event [ if not exists ] event_name
on schedule schedule
[on completion [ not ] preserve]
[rename to new_event_name]
[enable | disable | disable on slave ]
[comment 'comment']
do event_body;
修改事件和创建事件类似,但是多了一条重命名
4、删除事件
drop event [if exists] [database_name] event_name