触发器特性
1、什么条件会触发:I、D、U
2、什么时候触发:在增删改前或者后
3、触发频率:针对每一行执行
4、触发器定义在表上,附着在表上
触发器类型
|
触发器类型
NEW
和
OLD
的使用
|
INSERT
型触发器
|
NEW
表示将要或者已经新增的数据
|
UPDATE
型触发器
|
OLD
表示修改之前的数据
, NEW
表示将要或已经修改后的数据
|
DELETE
型触发器
|
OLD
表示将要或者已经删除的数据
|
创建只有一个执行语句的触发器
create trigger 触发器名 before|after 触发事件
on 表名 for each row
执行语句;
例题
1、首先创建表
2、创建触发器
插入触发器
CREATE TRIGGER product_bf_insert
BEFORE INSERT on product for EACH ROW
BEGIN
INSERT INTO operate(Op_type,Op_time) VALUES ('INSERT',now());
END;
更新触发器
CREATE TRIGGER product_af_update
AFTER UPDATE on product for EACH ROW
BEGIN
INSERT INTO operate(Op_type,Op_time) VALUES ('UPDATE',now());
END;
删除触发器
CREATE TRIGGER product_af_delete
AFTER DELETE on product for EACH ROW
BEGIN
INSERT INTO operate(Op_type,Op_time) VALUES ('DELETE',now());
END;
查看触发器
SHOW Triggers;
3、对触发器进行insert、update、delete操作
INSERT INTO product VALUES (1,'product1','fution1','company1','address1');
UPDATE product SET Name = 'product2' WHERE Id = 1;
DELETE FROM product WHERE Id = 1;
查看operate表查看记录
4、删除触发器
DROP TRIGGER IF EXISTS product_bf_insert;
DROP TRIGGER IF EXISTS product_af_update;