创建触发器之前....
create database....
....
create table....
....
创建触发器
固定格式
>delimiter //
>create trigger tirggerName
>after | before insert | update | delete
>on triggerTableName for each row
>begin
>.....; --一条或多条语句
>end;
>//
>delimiter ;
种类
insert型
after insert 和 before insert两种
插入某一行时激活触发器,可能通过 insert语句触发
update型
after update 和 before update 两种
更改某一行时激活触发器,可能通过 update 语句触发
delete型
after delete 和 before delete 两种
删除某一行时激活触发器,可能通过 delete 语句触发
new 与 old
在 insert 型触发器中,new用来表示将要(before)或已经(after)插入的新数据;
在 update 型触发器中,old 用来表示将要或已经被修改的原数据,new 用来表示将要或已经修改为的新数据;
在 delete 型触发器中,old 用来表示将要或已经被删除的原数据;
使用方法: new.columnName (columnName 为相应数据表某一列名)
另外,old 是只读的,而 new 则可以在触发器中使用 set 赋值,这样不会再次触发触发器,造成循环调用。
删除触发器
drop trigger triggerName
网友评论