概念
触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete, update)时就会激活它执行
触发器创建的四个要素
- 监视地点(table)
- 监视事件(insert/update/delete)
- 触发时间(after/before)
- 触发事件(insert/update/delete)
创建触发器
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包含的多条语句
BEFORE和AFTER参数指定了触发执行的时间,在事件之前或是之后
FOR EACH ROW表示任何一条记录上的操作满足触发事件都会触发该触发器
查看和删除已有的触发器
#查看已有触发器
show triggers;
#删除已有触发器
drop trigger 触发器名称;