AFTER UPDATE触发器就是MySQL将在执行UPDATE操作后才触发该触发器。
在MySQL中创建AFTER UPDATE触发器的语法为:
CREATE
TRIGGER
trigger_name
AFTER
UPDATE
ON
table_name
FOR
EACH ROW
BEGIN
-- variable declarations
-- trigger code
END
;
参数|说明trigger_name | 要创建的触发器的名称。AFTER UPDATE | 指明触发器将在执行UPDATE操作后触发。table_name | 要创建触发器的表的名称。
注意您不能在视图上创建 AFTER 触发器。有两个变量NEW和OLD分别代表执行触发器前后的记录。NEW 的值可以被更新,OLD的值不能被更新比如想执行触发器后,新值都加5 ,可以这样写NEW.value = OLD.value
下面的示例演示了在MySQL中如何使用CREATE TRIGGER语句创建AFTER UPDATE触发器。
TABLE
contacts
( contact_id
INT
(11)
NOT
NULL
AUTO_INCREMENT,
last_name
VARCHAR
(30)
,
first_name
(25),
birthday
DATE
created_date
created_by
(30),
CONSTRAINT
contacts_pk
PRIMARY
KEY
(contact_id)
);
DELIMITER //
contacts_after_update
DECLARE
vUser
varchar
(50);
-- 查找执行了insert操作的用户名,放到变量vUser中
SELECT
USER
()
INTO
vUser;
-- 将update操作记录放到审计表中
INSERT
contacts_audit
( contact_id,
updated_date,
updated_by)
VALUES
( NEW.contact_id,
SYSDATE(),
vUser );
; //
DELIMITER ;
原文链接:https://codingdict.com/