在MySQL中实现字段变化触发执行SQL,可通过触发器(Trigger)实现。以下是具体实现方式及注意事项:
触发器核心语法结构
CREATE TRIGGER trigger_name {BEFORE | AFTER} UPDATE ON table_name FOR EACH ROW BEGIN -- 触发逻辑 END;
BEFORE/AFTER:指定在更新操作前/后触发。
UPDATE:限定仅在字段更新时触发。
- 通过NEW和OLD关键字对比更新前后的值,判断字段是否发生变化:
CREATE TRIGGER log_age_change
AFTER UPDATE ON students
FOR EACH ROW
BEGIN
IF NEW.age <> OLD.age THEN
INSERT INTO change_log (student_id, old_age, new_age)
VALUES (OLD.id, OLD.age, NEW.age);
END IF;
END;
NEW.column:更新后的字段值。
OLD.column:更新前的字段值。
IF条件判断:仅当字段值变化时才执行后续SQL。
删除触发器
DROP TRIGGER log_age_change
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。