1.数据库触发器基础
三个事件,分别是插入insert,删除delete和修改update
两个时机,分别是执行之前before和执行之后after
2.创建触发器的语句
create trigger 名称 事件 on 表名
for each row
可执行性sql语句
注意:①触发器不能同名 ②一个表上一类事件只能设置一种触发器
3管理触发器
删除 drop trigger 触发器名
查看 show create trigger 触发器名
4.触发器内获取程序数据,使用old和new
old:监听事件所在的表在数据发生前的数据
new:监听数据发生后,已处理完成的数据
数据就是触发该事件的记录
5.如果一个触发器由多个sql组成
①将sql语句组成块(begin和end标识下)
②语句块需要独立的结束符(默认分号)
6.命令行:由于触发器内程序使用分号做语句结束符
当命令行客户端遇到分号,将其理解成内部子语句结束符而不是触发器的结束符
此时,我们可以通过修改语句结束符来解决此问题
DROP TRIGGER updateBook;
DELIMITER $$
CREATE TRIGGER updateBook AFTER UPDATE ON person
FOR EACH ROW
BEGIN
UPDATE book SET price = price + 100 WHERE id='abc1';
UPDATE book SET price = price + 200 WHERE id='abc2';
END
$$
DELIMITER ;
加油加油,回家做饭去