触发器:当对某张表做:增删改操作时,可以使用触发器自定义关联行为
1,为什么需要创建mysql触发器?
比如说我往tb1表里面插入一条数据的时候,同时需要往日志表tb2中插入这条数据,这时候就需要创造一个触发器当我们往tb1中插入一条数据的时候,系统自动往tb2中插入一条数据。
2,创建触发器:(查询没有触发器)
3,更改终结符,比如将终结符';'改为'//':delimiter //
4,创建触发器必须更改终结符,否则代码执行错误:
1 delimiter // 2 create trigger t1 before insert on student for each row 3 begin 4 insert into teacher(name) values('11sdfdfd');-- 如果‘;’是终结符,这里就结束了,没有执行到end,所以必须更改终结符 5 end// 6 delimiter ; 7 8 insert into student(username) values('刚娘');
5,创建触发器执行一条 语句,但是插入了两条数据的时候触发器的代码会执行了两次:(创建触发器的时候后面有for each row)
结果:触发器begin...end中的代码会执行两次。