mysql触发器为什么不建议使用?
1. 性能问题:使用触发器会增加数据库的负担,因为每次执行相关操作时都会触发触发器,导致数据库性能下降。
2. 可维护性问题:触发器的逻辑通常是隐式的,难以理解和维护。当数据库结构发生变化时,需要修改触发器,但是修改可能会影响到其他相关的触发器或存储过程,导致维护难度增加。
3. 安全问题:触发器可以被滥用,例如在触发器中执行恶意代码或者修改敏感数据。因此,需要对触发器进行严格的权限控制和审计。
综上所述,虽然触发器可以自动化处理数据库操作,但是由于性能、可维护性和安全性等问题,不建议过度使用触发器。
建议不要使用MySQL触发器。
1.原因:MySQL触发器一旦被定义,将被存储在MySQL的系统表中,这会造成额外的系统负担,从而降低数据库性能。
2.此外,使用触发器可能会导致一些意外的结果,比如在数据修改过程中,可能会因为触发器导致数据的丢失或不一致。
除非有明确的必要,否则建议尽量避免使用MySQL触发器,使用其他方式代替。
不仅是mysql数据库,几乎所有数据库都不建议在生产环境使用触发器。
触发器的初衷和原理都很好。实时捕获数据变化,然后做相应的处理。不容忽视的是,它在资源消耗方面的缺点或者劣势,掩盖了它的优势。
mysql触发器,不能触发?
触发器有before 和after 两种,一种是在insert之前,一种是在insert之后。
图片来源:网络
你说的sql2008触发器我不太清楚,我就用过mysql的触发器。
mysql触发器格式?
触发器是与 MySQL 数据表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。其格式为:
CREATE <触发器名> < BEFORE | AFTER >
<INSERT | UPDATE | DELETE >
ON <表名> FOR EACH Row<触发器主体>
1) 触发器名
触发器的名称,触发器在当前数据库中必须具有唯一的名称。如果要在某个特定数据库中创建,名称前面应该加上数据库的名称。
2) INSERT | UPDATE | DELETE
触发事件,用于指定激活触发器的语句的种类。