建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > MYSQL学习 > 什么是mysql触发器

什么是mysql触发器

时间:2015-01-21 20:58:12  来源:免费模板网 作者:风雪 阅读次数 tags什么是mysql触发器

1,触发器是由MYSQL的基本命令事件来触发某种特定操作,

触发器有两个重要因素:一是Action(动作)二是Condition(条件)

触发器就是在满足Conditoin条件时执行相应的动作,这个动作就是一系列的SQL语句

2,创建触发器


  1. mysql> create trigger autolog before insert 
  2.     -> on user for each row  
  3.     -> insert into logtime values(null,now());  
  4.     -> //  
  5. Query OK, 0 rows affected (0.12 sec)  
  6.  
  7. mysql> insert into user values(null,'123','123',now())//  
  8. Query OK, 1 row affected (0.06 sec)  
  9.  
  10. mysql> select * from logtime;  
  11.     -> //  
  12. +----+---------------------+  
  13. | id | savetime            |  
  14. +----+---------------------+  
  15. |  1 | 2012-11-05 18:35:02 |  
  16. +----+---------------------+  
  17. 1 row in set (0.00 sec) 
 创建触发器用的关键字是 trigger  autolog是触发器的名字  before insert 是在插入数据动作之前执行触发器before可以换成after,表明在之后执行动作 on user 表明触发器监听表格 each row 就是监听user表的每一列 user表格如果发生插入操纵的话,就会执行相应的动作 下面的一个SQL语句表明要执行的动作 第二个SQL语句是往user表里插入数据,然后查询logtime表,自动加入了一条记录

3,查看所有的触发器


  1. mysql> show triggers  
  2.     -> //  
  3. +---------+--------+-------+----------------------------------------+--------+---------+------------  
  4. ----------------------------------------------------+----------------+----------------------+-------  
  5. ---------------+--------------------+  
  6. Trigger | Event  | Table | Statement                              | Timing | Created | sql_mode  
  7.                                                     | Definer        | character_set_client | collat  
  8. ion_connection | Database Collation |  
  9. +---------+--------+-------+----------------------------------------+--------+---------+------------  
  10. ----------------------------------------------------+----------------+----------------------+-------  
  11. ---------------+--------------------+  
  12. | autolog | INSERT | user  | insert into logtime values(null,now()) | BEFORE | NULL    | STRICT_TRAN  
  13. S_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8                 | utf8_g  
  14. eneral_ci      | utf8_general_ci    |  
  15. +---------+--------+-------+----------------------------------------+--------+---------+------------  
  16. ----------------------------------------------------+----------------+----------------------+-------  
  17. ---------------+--------------------+  
  18. 1 row in set (0.01 sec) 

4,删除触发器


  1. mysql> drop trigger autolog//  
  2. Query OK, 0 rows affected (0.01 sec) 

本文出自 “Kenan_ITBlog” 博客,请务必保留此出处http://soukenan.blog.51cto.com/5130995/1050810

本文地址:https://www.freemoban.com/mysql/2015/0121/272.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!