Mysql中触发器

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 ;

加油加油,回家做饭去

猜你喜欢

转载自shuizhongyue.iteye.com/blog/2290042