今日份知识学习
今天我们来学习一下MySQL中的触发器是如何实现的,针对触发器,我们在日常开发中,其实并不会总是使用,甚至说很多团队禁止使用这个概念,如果你对此感兴趣,那就一起来学习一下吧。
MySQL之如何使用触发器具体讲解
对于MySQL中的触发器,很多人不太熟悉,甚至于根本没有用到过,偶尔听到这个概念,也并不是很关注。那么今天我们就细数一下。
什么时候需要使用到触发器
现在我们来模拟一个场景,假如我们想在A表数据的基础上创建一个B表的记录,而且这个记录是一一对应的,这个时候不去通过服务端语言去做,就只能使用MySQL本身的触发器去实现。
那么如何实现一个触发器呢?
当然是有相关的语法了,通过以下语法进行创建:
CREATE TRIGGER 触发器名称 BEFORE|AFTER 触发事件 ON 表名 FOR EACH ROW 执行语句;
我们来具体实现一个触发器,就根据上面的这个场景来写。
sql
复制代码
CREATETRIGGER demo_trigger AFTER INSERTON table_a FOREACHROWINSERTINTO table_b VALUES('111');
通过上面这个SQL,我们就可以得到一个触发器了,并且这个触发器可以根据table_a表的insert事件进行对table_b表的数据填充。
那么我们为什么总是不建议使用触发器呢?
这个原因当然是因为这其中的特性,本身就太耗费资源了,监听每一次添加等操作,如果我批量操作了一大批数据,那么触发器也会执行,如此的话,MySQL本身的性能就被触发器进行拖垮。有点得不偿失。
总结
今天我们学习了MySQL中的触发器,了解到了其中的一些使用场景,并且解释了为什么不经常使用触发器的原因,大家是否有所收获呢。