首页 > 解决方案 > 如何在 AFTER UPDATE 触发器中引用最近更新的行

问题描述

AFTER DELETE和触发器中,您可以使用和AFTER INSERT引用新删除/插入的行。但是如何引用触发器中的行呢?例如,在我翻转行中的一个开关后,我需要从我刚刚翻转的布尔值的行中获取一个 ID,所以喜欢还是什么?OLD.desired_idNEW.desired_idAFTER UPDATETHIS.desired_id

标签: mysqlsqltriggers

解决方案


根据您的问题,您可以通过以下模板查询来实现。根据您的架构所需的更改。使用将内容更新到表中的触发器内部可用的表。

ALTER TRIGGER 'trigger_name_afterupdate'
ON [*db*].[*table*]
AFTER UPDATE
AS
BEGIN 
    UPDATE [*db*].[*table*]
    SET last_updated_by = SYSTEM_USER
    **(your flip switch condition goes here)**
    FROM *db*.*table* x
    WHERE EXISTS (SELECT 1 FROM inserted i WHERE i.id = x.id);
END

推荐阅读