1.创建触发器;包含单条语句;
语法:create trigger trigger_name BEFORE|AFTER trigger_EVENT ON table_name for each row trigger_STMT
示例:create trigger users_trigger AFTER insert on user1 for each row
insert into users values(2,'tom','shenzhen');
创建之后
2.显示触发器
mysql> show triggers\G;
*************************** 1. row
Trigger: users_trigger
Event: INSERT
Table: user1
Statement: insert into users values(2,'tom','shenzhen')
Timing: AFTER
Created: NULL
sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer: @
character_set_client: gbk
collation_connection: gbk_chinese_ci
Database Collation: gbk_chinese_ci
1 row in set (0.02 sec)
ERROR:
No query specified
mysql>
3.创建包含多条语句的触发器;
第一步:delimiter $$ 使用$$代表结束符号
mysql> delimiter $$
第二步:创建触发器,并执行多条语句;
mysql> create trigger users_trigger after insert on user1
-> for each row
-> begin
-> insert into users values(3,'tom3','shanghai');
-> insert into users values(4,'tom4','beijing');
-> end
-> $$
第三步:使用delimiter ; 结束执行触发器
mysql> delimiter ;
4.查看刚才创建的触发器
mysql> show triggers\G;
Trigger: users_trigger
Event: INSERT
Table: user1
Statement: begin
insert into users values(3,'tom3','shanghai');
insert into users values(4,'tom4','beijing');
end
Timing: AFTER
Created: NULL
sql_mode: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Definer: @
character_set_client: gbk
collation_connection: gbk_chinese_ci
Database Collation: gbk_chinese_ci
1 row in set (0.02 sec)
ERROR:
No query specified
mysql>
5.查看触发器
方法一:
mysql> show triggers\G;
方法二:在数据库information_schema
mysql> use information_schema;
在数据库information_schema数据库里有triggers这个表
mysql> select * from triggers where trigger_name='users_trigger'\G;
6.删掉触发器
语法:drop trigger trigger_name;
mysql> drop trigger users_trigger;