Mysql触发器 before 与after的差别

Mysql触发器 before 与after的差别

Mysql触发器 before 与after的区别

MySQL触发器语法

CREATE TRIGGER trigger_name trigger_time trigger_event

       ON tbl_name FOR EACH ROW trigger_stmt

trigger_time:触发动作时间,可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。BEFORE update能否取到new.字段值?BEFORE AFTER使用时的区别?

Before与After区别:before:(insert、update)可以对new进行修改,after不能对new进行修改。两者都不能修改old数据。

                              在本表插入字段值需要用new计算,只能用before,在别的表中记录插入成功记录或统计插入的条数用after。

trigger_event:激活触发程序的语句类型。

            INSERT:将新行插入表时激活触发程序,如INSERT、LOAD DATA和REPLACE语句。

UPDATE:更改某一行时激活触发程序,如UPDATE语句。

DELETE:从表中删除某一行时激活触发程序,如DELETE和REPLACE语句

trigger_stmt:触发程序激活时执行的语句。如果你打算执行多个语句,可使用BEGIN … END复合语句结构。

Mysql触发器 before 与after的差别

相关文章:

你感兴趣的文章:

标签云: