mysql触发器
一、什么是触发器
当对指定的表,进行某种特定的操作(insert、delete、update),而自动执行的一条sql语句。
当执行一个事件时,同时也去执行另外一个事件。
SQL触发器是一种特殊类型的存储过程。
二、触发器的语法
1、创建触发器
(1)单条
create trigger 触发器名称 before/after insert/update/delete on 表名 for each row sql语句
(2)多条
mysql命令默认以“;”为语句结束符
delimiter 自定义符号-- 临时修改语句结束符为指定符号
create trigger 触发器名称 before/after insert/update/delete on 表名 for each row begin sql语句;sql语句;end
2、查看触发器
show triggers
查看触发器创建语句:show create trigger 触发器名
3、删除触发器drop trigger 触发器名称
三、为什么要使用触发器
四、如何使用触发器
五、注意事项
1、MySQL5以后不支持触发器返回结果集
六、优缺点
优点
1、预编译,已优化,效率较高。避免了SQL语句在网络传输然后再解释的低效率。
2、安全。不会有SQL语句注入问题存在。
缺点
1、从客户端应用程序调用和执行SQL触发器不可见,因此很难弄清数据库层中发生的情况。
2、SQL触发器可能会增加数据库服务器的开销