1.触发器的概念:用来实现一些表事件触发某个操作,是与数据库对象表关联最紧密的数据库对象之一。触发器是由事件来触发、激活从而实现执行。当表发生改变时,自动的进行一些处理。delete、insert,update语句会激活触发器。
2.创建触发器
(1)创建 一条执行语句的触发器
create trigger trigger_name BEFORE|AFTER trigger_EVENT ON TABLE_NAME FOR EACH ROW
trigger_STMT
其中trigger_event参数表示触发事件,即触发条件。trigger_stmt表示激活触发器后被执行的语句。
实例:mysql> CREATE TRIGGER tri_test BEFORE INSERT ON t1 FOR EACH ROW
-> INSERT INTO t1_log VALUES(USER(),'insert record into table t1',now());
(2)创建包含多条执行语句的触发器
create trigger trigger_name
BEFORE|AFTER trigger_EVENT
ON TABLE_NAME FOR EACH ROW
BEGIN
trigger_STMT
END
实例:
mysql> DELIMITER $$
mysql> CREATE TRIGGER tri_test2 BEFORE INSERT ON t1 FOR EACH ROW
-> Begin
-> INSERT INTO t1_log VALUES(USER(),'insert record into table t1',now());
-> INSERT INTO t1_log VALUES(USER(),'insert record into table t1',now());
-> End
-> $$
3.查看触发器
show triggers;
4.删除触发器
drop trigger trigger_name;