触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。
创建语法:
create trigger trigger_name trigger_time trigger_event on
stb_name for each row trigger_stmt;
trigger_time:可以是before和after.
trigger_event:可以是insert、update和delete。
mysql> create trigger lyb_test after insert on lybtest1 for each row begin
-> insert into lybtest2(ip,links,mac) values(new.ip,new.links,new.mac);
-> end;
-> $$
Query OK, 0 rows affected (0.00 sec)
然后:
insert into lybtest1(ip,links,mac) values('192.168.8.8','15','50:1C:C0:B2:A1:77')
现在查下lybtest2表
mysql> select * from lybtest2;
+-------------+-------+-------------------+
| ip | links | mac |
+-------------+-------+-------------------+
| 192.168.8.8 | 15 | 50:1C:C0:B2:A1:77 |
+-------------+-------+-------------------+
1 row in set (0.01 sec)
查看触发器:
mysql> show triggers \G
*************************** 1. row ***************************
Trigger: lyb_test
Event: INSERT
Table: lybtest1
Statement: begin
insert into lybtest2(ip,links,mac) values(new.ip,new.links,new.mac);
end
Timing: AFTER
Created: NULL
sql_mode:
Definer: root@localhost
1 row in set (0.00 sec)