MySQL触发器到底意味着什么?
触发器与数据表相关亲近,首要用于掩护表中的数据。出格是当有多个表具有必然的彼此接洽的时辰,触发器可以或许让差异的表保持数据的同等性。 在 MySQL 中,只有执行 INSERT、UPDATE 和 DELETE 操纵时才气激活触发器,其余 SQL 语句则不会激活触发器。 那么为什么要行使触发器呢?好比,在现实开拓项目时,我们常常会碰着以下环境: 在门生表中添加一条关于门生的记录时,门生的总数就必需同时改变。 增进一条门生记录时,必要搜查年数是否切合范畴要求。 删除一条门生信息时,必要删除厥后果表上的对应记录。 删除一条数据时,必要在数据库存档表中保存一个备份副本。 固然上述环境实现的营业逻辑差异,可是它们都必要在数据表产生变动时,自动举办一些处理赏罚。这时就可以行使触发器处理赏罚。譬喻,对付第一种环境,可以建设一个触发器工具,每当添加一条门生记录时,就执行一次计较门生总数的操纵,这样就可以担保每次添加一条门生记录后,门生总数和门生记录数是同等的。 触发器的优弱点 触发器的利益如下: 触发器的执行是自动的,当对触发器相干表的数据做出响应的修改后当即执行。 触发器可以实验比 FOREIGN KEY 束缚、CHECK 束缚更为伟大的搜查和操纵。 触发器可以实现表数据的级联变动,在必然水平上担保了数据的完备性。 触发器的弱点如下: 行使触发器实现的营业逻辑在呈现题目时很难举办定位,出格是涉及到多个触发器的环境下,会使后期维护变得坚苦。 大量行使触发器轻易导致代码布局被打乱,增进了措施的伟大性, 假如必要变换的数据量较大时,触发器的执行服从会很是低。 MySQL 支持的触发器 在现实行使中,MySQL 所支持的触发器有三种:INSERT 触发器、UPDATE 触发器和 DELETE 触发器。 1) INSERT 触发器 在 INSERT 语句执行之前或之后相应的触发器。行使 INSERT 触发器必要留意以下几点: 在 INSERT 触发器代码内,可引用一个名为 NEW(不区分巨细写)的假造表来会见被插入的行。 在 BEFORE INSERT 触发器中,NEW 中的值也可以被更新,即应承变动被插入的值(只要具有对应的操纵权限)。 对付 AUTO_INCREMENT 列,NEW 在 INSERT 执行之前包括的值是 0,在 INSERT 执行之后将包括新的自动天生值。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |