触发器:
概念
触发器(trigger)顾名思义可以监视某种情况,当情况发生时,触发某种操作
触发器四要素:
监视地点:触发器监视的对象是表
监视事件:触发器监视的事件只能是增、删、改
触发时间:在监视事件之前还是之后
触发事件:也只能是增、删、改
触发器的操作:
查看: show triggers;
创建:
create trigger 触发器名称
after/befor (触发时间)
insert/update/delete (监视事件)
on 表名 (监视地址)
for each row
begin
sql1;
..
sqlN;
end
注意:所需要触发的SQL语句都要以‘;’结束。end后面也需要有分界符,但不能再是';'。所以创建触发器之前需要先修改分界符
分界符修改: delimiter 分界符
触发器引用行变量
insert :插入一行后出现了一个新行用new表示,在触发器中可以通过new.列名来引用插入行各个字段的值
delete:删除一行后之前的那行不见了,用old表示,在触发器中可以通过old.列名来引用被删除行各个字段的值
update:修改一行后旧的一样用old表示,新的一行用new表示,在触发器中可以通过new.列名来引用修改后行各个字段的值,old.列名来引用修改前各个字段的值。
触发器after和before的区别:
after是先完成增删改再触发
before是在增删改之前将以判断
|
|