温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL5.7新特性之单表支持多个DML触发器

发布时间:2020-08-11 02:17:08 来源:ITPUB博客 阅读:363 作者:StevenBeijing 栏目:MySQL数据库
 MySQL5.6不支持一个表有多个UPDATE/DELETE/INSERT触发器。
 下边看一个例子:
 创建三个测试表:

点击(此处)折叠或打开

  1. mysql> create table t_trig_test_01 (name varchar(10));
  2. Query OK, 0 rows affected (0.07 sec)

  3. mysql> create table t_trig_test_02 (name varchar(10));
  4. Query OK, 0 rows affected (0.03 sec)

  5. mysql> create table t_trig_test_03 (name varchar(10));
  6. Query OK, 0 rows affected (0.03 sec)
  创建两个触发器:

点击(此处)折叠或打开

  1. mysql> delimiter //
  2. mysql> create trigger trg_test_01
  3.     -> after insert on t_trig_test_01
  4.     -> for each row
  5.     -> begin
  6.     -> insert into t_trig_test_02 select * from t_trig_test_01;
  7.     -> end;
  8.     -> //
  9. Query OK, 0 rows affected (0.06 sec)

  10. mysql> delimiter //
  11. mysql> create trigger trg_test_02
  12.     -> after insert on t_trig_test_01
  13.     -> for each row
  14.     -> begin
  15.     -> insert into t_trig_test_03 select * from t_trig_test_01;
  16.     -> end;
  17.     -> //
  18. Query OK, 0 rows affected (0.11 sec)
向表t_trig_test_01插入两条测试数据:

点击(此处)折叠或打开

  1. mysql> insert into t_trig_test_01 values('steven');
  2. Query OK, 1 row affected (0.01 sec)

  3. mysql> insert into t_trig_test_01 values('steven');
  4. Query OK, 1 row affected (0.01 sec)
查看三个表的数据:

点击(此处)折叠或打开

  1. mysql> select * from t_trig_test_01;
  2. +--------+
  3. | name |
  4. +--------+
  5. | steven |
  6. | steven |
  7. +--------+
  8. 2 rows in set (0.00 sec)

  9. mysql> select * from t_trig_test_02;
  10. +--------+
  11. | name |
  12. +--------+
  13. | steven |
  14. | steven |
  15. | steven |
  16. +--------+
  17. 3 rows in set (0.00 sec)

  18. mysql> select * from t_trig_test_03;
  19. +--------+
  20. | name |
  21. +--------+
  22. | steven |
  23. | steven |
  24. | steven |
  25. +--------+
  26. 3 rows in set (0.00 sec)
  达到了预期的结果。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI