日期:2014-05-16  浏览次数:20848 次

从命令行创建Mysql触发器
1.测试数据表情况:
mysql> select * from t1;
+------+-------+
| id | name |
+------+-------+
| 1 | name1 |
+------+-------+
1 row in set (0.00 sec)

mysql> select * from t2;
+------+-------+
| id | name |
+------+-------+
| 1 | name1 |
+------+-------+
1 row in set (0.00 sec)
?
2.命令行中创建触发器:
mysql> delimiter //
mysql> create trigger test.t1_ai after insert on test.t1
??? -> for each row begin
??? -> update t2 set id=3;
??? -> end//
Query OK, 0 rows affected (0.11 sec)
该触发器会将t1表中的新增记录插入到t2表中
?
3.命令行中向t1表插入一条新纪录:
mysql> insert into t1 values(2,'name2');
Query OK, 1 row affected (0.05 sec)
?
4.再次查看数据表中的记录情况:
mysql> select * from t1;
+------+-------+
| id | name |
+------+-------+
| 1 | name1 |
| 2 | name2 |
+------+-------+
2 rows in set (0.00 sec)

mysql> select * from t2;
+------+-------+
| id | name |
+------+-------+
| 1 | name1 |
| 2 | name2 |
+------+-------+
2 rows in set (0.00 sec)
?
可见,我们的触发器确实生效了!
5.命令行删除触发器:
mysql>drop trigger t1.t1_ai;