mysql - 如何在 AFTER UPDATE 触发器中引用最近更新的行

标签 mysql sql triggers

AFTER DELETEAFTER INSERT 触发器中,您可以使用 OLD.desired_idNEW 引用新删除/插入的行。 desired_id。但是如何在 AFTER UPDATE 触发器中引用该行呢?例如,在我翻转行中的开关后,我需要从我刚刚翻转其 bool 值的行中获取 ID,比如 THIS.desired_id 或其他什么?

最佳答案

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

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

关于mysql - 如何在 AFTER UPDATE 触发器中引用最近更新的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53912390/

相关文章:

java - 使用 jdbc 通过 PrepareStatement 为 DATETIME 字段插入 null

mysql - 如何使用 case when 语句在列中设置 Mysql 加载的表项

sql - 从一个表中选择所有列,其中某些列与另一个选择相匹配

mysql - 无法使 IF ELSE IF 语句起作用

java - MySQL:创建触发器总是给我语法错误

php - 如何在mysql,php中的单个查询中将任何列值设置为与自动递增id值相同

mysql - 这可以在 SQL 中完成吗? - 我可以在 JAVA 中完成 - 计算候补名单

PHP/MySQL 不会更新小数字段

php - 产品与品类的关系,构建查询

sql - Oracle SQL Developer,在函数中使用动态 SQL