是什么
触发器不同于定时器,触发器用在表中的记录上,每当表中的记录进行增、删、改操作时,则绑定在表上的对应的触发器被触发,进行对应的操作。(有点类似于java中的swing中的监听器)
怎么用
可以表中每一条记录的操作前后针对增、删、改操作添加对应的触发器,一张表最多可以有6个触发器
创建触发器
-- 创建触发器的格式
create trigger 触发器名字 触发时间 事件类型 on 表名 for each row
begin-- 触发器内容 , 并用 ; 结束 -- 不可写带有返回值的语句
end;-- 每删除一个user之后,log表中len-1
CREATE TRIGGER delUserListener AFTER DELETE ON `user` FOR EACH ROW
BEGIN UPDATE log SET len = len - 1 where id = 1;
END;
这样当user表中记录删除时,触发器就会被触发
查看触发器
-- 查看所有触发器或者模糊匹配
show TRIGGERS [LIKE 触发器名]\G;-- 查看触发器创建语句:show create trigger 触发器名字;
SHOW CREATE TRIGGER delUserListener-- 触发器都保存在 information_schema.triggers 中
SELECT * FROM information_schema.TRIGGERS
删除触发器
-- 删除触发器
DROP TRIGGER 触发器名
DROP TRIGGER delUserListener