时间:2021-07-01 10:21:17 帮助过:29人阅读
before和after参数指定了触发器的执行时间,before是指在触发器事件之前执行触发语句,trigger_event表示触发事件,即触发器执行条件,包含delete、insert、update语句,trigger_STMT表示激活触发器后被执行的语句,如:
create trigger tri_diary before insert on t_dept for each now insert into t_diary values(null, ‘t_dept‘, now()) ;
当向t_dept插入任意一条记录,都会在此之前向t_diary表插入当前事件记录。
如需创建多条包含执行语句的触发器,可通过以下命令实现:
create trigger trigger_name before|after trigger_event on table_name for each row begin insert trigger_STMT end
举个例子吧,如果需要每次在t_dept插入数据之后向表t_diary插入两条当前时间,语句如下:
delimiter $$ create trigger tri_diary2 after insert on t_dept for each row begin insert into t_diary values(null, ‘t_dept‘, now()); insert into t_diary values(null, ‘t_dept‘, now()); end $$ delimiter;
查看触发器,类似于表和视图,都是通过show等语句实现:
show triggers ;
在系统表information_schema表中也可实现查看触发器:
use information_schema; select * from trigger;
删除触发器:
drop trigger tri_name;
MySQL触发器的操作
标签:format mysql for 时间 sch sql触发器 show 插入 插入数据