mysql触发器

触发器  trigger

1、监听数据进行操作:在当前的表上,设置一个对每行数据的一个监听器,监听相关事件,每当事件发生时,会执行一段由sql语句完成的功能代码。

2、触发器的元素:1事件,2执行代码

3、事件:插入、删除、修改  事件执行的时机:执行之前,执行之后

4、创建触发器:create trigger 名字 事件 执行代码

注意:触发器不能同名、目前mysql只支持一类事件设置一个触发器。

5、管理触发器:删除(drop)、查看(show)      drop trigger trigger_name   show create trigger trigger_name;

6、在触发器内,获得触发该触发程序时的数据

利用触发程序内的new和old来完成 old:监听事件所在表上的数据,在事件发生之前的数据,旧数据。new,事件发生后的数据

注意、insert不能使用old,delete不能使用new

7、如果一个触发程序有多条sql语句组成。

语句组成语句块(begin end)用来标识语句块,语句块里的语句以;结束。

由于触发器程序内也是以;作为结束语句结束符,与cmd结束符冲突,所以用delimiter语句设置命令行的结束符。

delimiter $

create trigger t2 after insert on sm_student
for each row
begin
update `class` set c_money=c_money+20;
update `class` set stu_count=stu_count+1;
end
$

delimiter ;

原文地址:https://www.cnblogs.com/dongtong/p/4943798.html