AFTER DELETE触发器就是MySQL将在执行DELETE操作后触发该触发器。
在MySQL中创建AFTER DELETE触发器的语法为:
CREATE
TRIGGER
trigger_name
AFTER
DELETE
ON
table_name
FOR
EACH ROW
BEGIN
-- variable declarations
-- trigger code
END
;
注意您不能在视图上创建 BEFORE DELETE 触发器。有两个变量NEW和OLD分别代表执行触发器前后的记录。NEW 的值可以被更新,OLD的值不能被更新比如想执行触发器后,新值都加5 ,可以这样写NEW.value = OLD.value
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_delete
DECLARE
vUser
varchar
(50);
-- 查找执行了insert操作的用户名,放到变量vUser中
SELECT
USER
()
INTO
vUser;
-- 将delete操作记录放到审计表中
INSERT
contacts_audit
( contact_id,
deleted_date,
deleted_by)
VALUES
( OLD.contact_id,
SYSDATE(),
vUser );
; //
DELIMITER ;
原文链接:https://codingdict.com/