触发器1
1 介绍
触发器是与表有关的数据库对象,值在
INSERT/UPDATE/DELETE
之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作
使用别名
OLD
和NEW
来引用触发器中发送变化的记录内容,这与其他数据库是相似的。现在的触发器只支持 行级触发,不支持语句触发
2 触发器类型
触发器类型 | NEW 和 OLD |
---|---|
INSERT 型触发器 | NEW表示将要或者已经新增的数据 |
UPDATE 型触发器 | OLD表示修改之前的数据,NEW表示将要或已经修改后的数据 |
DELETE 型触发器 | OLD表示将要或者已经删除的数据 |
3 语法
3.1. 创建
CREATE TRIGGER 触发器名字
BEFORE/AFTER INSERT/UPDATE/DELETE
ON 表名 FOR EACH ROW -- 行级触发器
BEGIN
SQL操作...
END;
3.2. 查看
SHOW TRIGGERS;
3.3. 删除
DROP TRIGGER 表名;
3.4. 示例
create trigger tb_user_insert_trigger
after insert on tb_user for each row
begin
insert tb_user_logs values (null,'INSERT',now(),new.id,concat('id:',new.id,',name:',new.name,',profession:',new.profession));
end;