在某个表发生更改时自动处理。触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句。
1. DELETE
2. INSERT
3. UPDATE
在创建触发器的时候,需要给出4条信息:
1. 唯一的触发器的名字
2. 触发器关联的表
3. 触发器应该响应的活动
4. 触发器何时执行
触发器使用CREATE TRIGGER语句创建。下面是一个简单的例子。
CREATE TRIGGER newproduct AFTER INSERT ON products FOR EACH ROW SELECT 'Product added';
创建名字为newproduct 的新触发器。
触发器不能更改或者覆盖,只能删除后再修改。
DROP TRIGGER newproduct
DELETE触发器
举例:
CREATE TRIGGER deleteorder BEFORE DELETE ON orders FOR EACH ROW
BEGIN
INSERT INTO archive_orders(order_num,order_date,cust_id)
VALUES(OLD.order_num,OLD.order_date,OLD.cust_id);
END;
UPDATE触发
CREATE TRIGGER updatevendor BEFORE UPDATE ON vendors
FOR EACH ROW SET NEW.vend_state = Upper(NEW.vend_state);