使用触发器
廖家龙 用心听,不照做

使用触发器

触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于BEGIN和END语句之间的一组语句):
DELETE;
INSERT;
UPDATE;
其他MySQL语句不支持触发器

在创建触发器时,需要给出4条信息:
1)唯一的触发器名
2)触发器关联的表
3)触发器应该响应的活动(DELETE、INSERT、UPDATE)
4)触发器何时执行(处理之前或之后)

1)创建触发器
CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW SELECT ‘Product added’;

只有表才支持触发器,视图不支持(临时表也不支持);触发器按每个表每个事件每次的定义,每个表每个事件每次只允许一个触发器,因此每个表最多支持6个触发器(每条INSERT、UPDATE、DELETE的之前和之后)。单一触发器不能与多个事件或多个表关联,所以,如果你需要一个对INSERT和UPDATE操作执行的触发器,则应该定义两个触发器。

2)删除触发器
DROP TRIGGER newproduct;
触发器不能更新或覆盖,为了修改一个触发器,必须先删除它,然后再重新创建

3)使用触发器
(1)INSERT触发器

CREATE TRIGGER neworder AFTER INSERT ON orders
FOR EACH ROW SELECT NEW.order_num;

(2)DELETE触发器

【原书缺页????】