gpt4 book ai didi

mysql - 触发列值更改?

转载 作者:行者123 更新时间:2023-11-29 06:16:57 27 4
gpt4 key购买 nike

我正在使用一些 SQL 触发器在表行被修改或创建时启动操作。这就像一个魅力,在我的示例中将 gen_date 列设置为当前日期/时间:

CREATE TRIGGER insert_template BEFORE INSERT ON template
FOR EACH ROW BEGIN
SET new.gen_date := now();
END;

我有另一列image,我想添加一列image_date,该列应该具有该字段更新时的当前时间/日期的值。

问题:是否可以设置一个触发器来跟踪逐列修改?

最佳答案

NEW. 可以访问新值,OLD. 可以访问旧值。您可以比较它们以定义值是否已更改。

CREATE TRIGGER insert_template BEFORE INSERT ON template
FOR EACH ROW BEGIN
SET NEW.gen_date := now();
IF NEW.image <> '' THEN
SET NEW.image_date := now();
END IF;
END;

CREATE TRIGGER update_template BEFORE UPDATE ON template
FOR EACH ROW BEGIN
IF NEW.image <> OLD.image THEN
SET NEW.image_date := now();
END IF;
END;

关于mysql - 触发列值更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35343096/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com