1.概念:触发器是一个在修改指定表中的数据时执行的存储过程。经常通过创建触发器来强制实现不同表中的逻辑相关数据的引用完整性或一致性。由于用户不能绕过触发器,所以可以用它来强制实施复杂的业务规则,以此确保数据的完整性。触发器定义在某个创建的表上也可以定义在一个数据库上。
2.触发器和存储过程的区别:
(1)触发器主要时通过事件进行触发而被执行的
(2) 存储过程可以通过存储过程名字而被直接调用

定义终止符号

delimiter
例 delimiter ¥,将¥设置为结束符号

create语句

CREATE TRIGGER trigger_name trigger_time trigger_event ON tb_name [FOR EACH ROW] trigger_stmt
trigger_name:触发器的名称
tirgger_time:触发时机,为BEFORE或者AFTER
trigger_event:触发事件,为INSERT、DELETE或者UPDATE
tb_name:表示建立触发器的表明,就是在哪张表上建立触发器
trigger_stmt:触发器的程序体,可以是一条SQL语句或者是用BEGIN和END包含的多条语句
所以可以说MySQL创建以下六种触发器:
BEFORE INSERT,BEFORE DELETE,BEFORE UPDATE
AFTER INSERT,AFTER DELETE,AFTER UPDATE

CREATE TRIGGER trigger_name [BEFORE|AFTER] event_name ON table_name BEGIN -- 触发器逻辑.... END;

查看触发器

1.查看全部触发器

语法:show triggers;

2.查看触发器的创建语句

语法:show create trigger 触发器名字;

删除触发器

DROP TRIGGER trigger_name;