【发布时间】:2025-11-29 04:05:02
【问题描述】:
我在下面列出了两个表。当在“switches”上更新字段时,我需要在“switch_updates”中插入一个条目,其中包括更新的字段名称、旧值和新值。
我已包含已启动的触发器,但无法弄清楚如何提取已更新字段的名称。
---------------------
| switches |
---------------------
| id |
| name (varchar) |
| functional (int) |
---------------------
-----------------------------
| switch_updates |
-----------------------------
| id |
| field_name (varchar) |
| field_original (varchar) |
| field_new (varchar) |
-----------------------------
触发器
CREATE TRIGGER SwitchUpdate_Trigger
AFTER UPDATE ON switches
FOR EACH ROW
BEGIN
INSERT into switch_updates (id, switch_id, field_name, field_original, field_new)
VALUES
(
null,
NEW.id, -- switch_id
, -- field_name?
OLD.field_value, --?
NEW.field_value, --?
);
END;
【问题讨论】: