amwdnuff 发表于 2010-12-17 21:15

mysql的触发器

mysql的触发器



触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。
创建语法:
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)



删除的话

drop trigger lyb_test;就可以了


页: [1]
查看完整版本: mysql的触发器