1、什么是触发器(trigger)
通俗来说:比如有个规则,我学习你就要去玩,这时候就可以把这个规则写成触发器,当我一学习你就自动去玩耍了。在mysql里就是,比如规则是我在表1插入一条数据,表2也自动插入这条数据,这时候就可以把这个规则写进触发器,当我在表1插入数据时,“自动”执行表2插入该条数据。当然,不仅是insert,增(insert)删(delete)改(update)都能设置触发器。
2、定义触发器
语法(单条触发语句):
create trigger 触发器名 before/after 事件 on 表名
for each row
触发器语句;
定义触发器注意事项:
1、触发器名建议为trigger_xxx,这样便于区分,触发器名不能重复。
2、before|after 代表触发器语句执行时间,如果是before,就是在insert|delete|update操作之前执行触发器语句;after就是之后。
3、事件就是insert delete update操作中的一个。
4、 for each row 是代表任何记录执行对应操作都会触发器。
5、触发器语句就是触发器触发时要执行的语句。
从定义触发器中我们发现:一张表最大能有6个触发器(32:增删改三种操作两种时间(before/after))
例如:有两张表,account表和account-history