mysql - 如何在 AFTER UPDATE 触发器中引用最近更新的行
问题描述
在AFTER DELETE
和触发器中,您可以使用和AFTER INSERT
引用新删除/插入的行。但是如何引用触发器中的行呢?例如,在我翻转行中的一个开关后,我需要从我刚刚翻转的布尔值的行中获取一个 ID,所以喜欢还是什么?OLD.desired_id
NEW.desired_id
AFTER UPDATE
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
推荐阅读
- c++ - 为什么我们将单维或多维数组的大小声明为常量值?
- angular - 以角度处理依赖可观察订阅的最佳方法是什么?
- autodesk-forge - 模型发布在 C4R 命令执行 8 小时后开始
- python - 在python中按IP地址和字符串降序排序列表
- c - 在列表中查找子列表并将其值求和
- spring-cloud-dataflow - Spring Cloud Dataflow Server 本地锁定 Jar
- java - java.lang.NoSuchMethodError: android.util.ArrayMap.put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
- c# - 使用 HMACSHA1 算法的哈希密码的最大长度是多少
- c# - 使用带有多个文件扩展名的 MapWhen
- python - childthread1 等到 childthread2 在 python 中完成它的执行?