MySQL数据库之触发器(2)

  可以看到,在tb_student表执行insert操作后,另外两个表也分别更新了记录,tb_before_trigger表num值为0,证明在tb_student执行insert操作前插入的;tb_after_trigger表num值为1,证明在tb_student执行insert操作后插入的——这就是before与after的区别。

  对于其他条件触发器,使用方法与示例1和示例2类似,本文不在演示。

4 查看触发器

  (1)show triggers语句

  通过show triggers语句可以查看示例1和示例2中创建的触发器:

show triggers;

  输出结果:

  

  (2)在triggers表中查看触发器

  在information_schema数据库的triggers表中存放在MySQL数据库中的所有触发器,可以通过查询语句进行查看:

select * from information_schema.triggers where trigger_name = 'before_trigger' ;

  输出结果:

   

  当不指定查询条件时,即是指查看所有触发器信息。

5 删除触发器

  使用DROP TRIGGER语句可以删除触发器,基本语法结构如下:

DROP TRIGGER [schema_name] trigger_name

  其中,schema_name表示数据库名称,是可选参数,如果省略则表示从当前数据库中删除触发器。

  示例3:删除示例1中创建的触发器before_trigger

drop trigger before_trigger;

6 总结

在某些时候,触发器可以起到锦上添花的作用,但是,触发器的效率并不高,所以还是尽量少用。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/db4b2af322fa2648a0e3ab91dd54dc28.html