MySQL_触发器(1)
2020-06-08 09:29
84 查看
在Mysql 5.0版本以上,才支持触发器
- Q:什么是触发器?
- A: 触发器类似中断,到达某个条件后会暂时离开本程序去执行其他子程序,执行完成,返回继续执行本程序。
建议:尽量少使用触发器,不建议使用。
原因:触发器尽很消耗资源,如果使用的话要谨慎的使用,确定它是非常高效的。并且触发器是针对每一行的;对增删改非常频繁的表上切记不要使用触发器,因为它会非常消耗资源。
创建只有一个执行语句的触发器
- createt rigger 触发器名 before/after 触发事件 on 发生动作表名 for each row 执行语句;
- 例1:创建了一个名为trig1的触发器,一旦在work表中有插入动作,就会自动往time表里插入当前时间
-
[code]create trigger trig1 after insert on work for each row insert into time values(now());
创建有多个执行语句的触发器
[code]delimiter $$ -- 临时修改语句结束符 create trigger 触发器名 before/after 触发事件 on 发生动作的表名 for each row begin 执行语句列表 end $$ -- 结束语句 delimiter; -- 恢复语句结束符
- 定义一个触发器,一旦有满足条件的删除操作,就会执行BEGIN和END中的语句
- 例子2:当work表中有删除动作时候,就向time表中插入begin和end中的语句
-
[code]delimiter $$ create trigger trig2 before delete on work for each row begin insert into time values(now()); insert into time values(now()); end $$ delimiter;
相关文章推荐