Mysql中触发器使用详详详详详解~
哈罗,铁子们~ 今天我来是为了给大家触发一下节前的快乐机制的,顺手也给大家讲一哈”Mysql中触发器使用详解“。我是真心想带领大家一起学(头)习(秃)的,你们一个也别想逃~
01 什么是触发器
触发器是与表有关的数据库对象,在对表进行insert/update/delete之前或之后,会触发并执行触发器中定义的SQL语句。触发器的这种特性可以协助应用在数据库端确保数据的完整性,记录日志,校验数据等。
简单的说,就是一张表发生了某件事(插入、删除、更新操作),然后自动触发了预先编写好的若干条SQL语句的执行;
02 触发器创建语法
表示任何一条记录上的操作满足触发事件都会触发该触发器,也就是说触发器的触发频率是针对每一行数据触发一次.
03 三、如何查看触发器
查看数据库里有哪些触发器:
Show triggers;查看某个触发器的内容:
SHOW CREATE TRIGGER trigger_name;
然后把SQL Original Statement列的内容复制粘贴出来即可。
删除触发器:
Drop trigger trigger_name;修改触发器:
无,先删除,再新建。
04 NEW和OLD的使用
MySQL 中定义了 NEW 和 OLD加列名,用来表示触发器所在表中,触发了触发器的那一行数据,来引用触发器中发生变化的记录内容我们可以使用它们来获取被修改的对象和修改后的对象。在INSERT型触发器中,NEW用来表示将要(BEFORE)或已经(AFTER)插入的新数据;在UPDATE型触发器中,OLD用来表示将要或已经被修改的原数据,NEW用来表示将要或已经修改为的新数据;在DELETE型触发器中,OLD用来表示将要或已经被删除的原数据;
另外,OLD是只读的,而NEW则可以在触发器中使用 SET 赋值,这样不会再次触发触发器,造成循环调用
05 触发器实例
实例1:给student表插入数据后记录其操作记录。
实例2:删除学生表数据后同时删除成绩表中对应学生的成绩信息,保持了数据的完整性,一致性。
实例3:修改成绩表成绩,如果修改成了负数则将其改为0,如果成绩大于100,则修改成100
以上是我们较常见的“Mysql中触发器使用详解”的内容,希望对做这些工作的小伙伴有帮助~大家觉得文章有用的话一定要关注我们,每天来这里和小编一起学习涨薪技能哦。