Mysql数据库(十二) 触发器 trigger
trigger:触发器,是指事先为某张表绑定一段代码,当表中的某些内容发生改变(增、删、改)的时候,系统会自动触发代码并执行。
表employees 和表salaries
1、创建触发器
注意:1、begin end中间的语句需要加分号
2、delimiter // 的意思是将结束语句的查询结尾定界符 从分号 改成 // ,不然的话,在begin中语句写完就结束了。
最后在用delimiter ;// 改过来,这里delimiter ; 表示查询结尾定界符改成; //表示结束
3、new表示要插入的新数据,old表示要删除的元数据
4、数据库前面用的是on create trigger after_delete_employee after delete on employees for each row
创建名为 after_delete_employee的触发器,当从表employees中删掉数据时就会触发,
触发的结果是,从salaries中删掉emp_no 相同的员工记录
delimiter //
create trigger after_delete_employee after delete on employees for each row
begin
delete from salaries where emp_no=old.emp_no;
end
//
2、从表employees中删掉emp_no为10010的员工
mysql> delete from employees where emp_no=10010;
Query OK, 1 row affected (0.08 sec)
3、结果如下图,表employees中的emp_no为10010的记录被删除
表salaries中emp_no为10010的数据记录也被删除。