gpt4 book ai didi

mysql - MySQL数据库中的历史字段

转载 作者:行者123 更新时间:2023-11-29 04:23:05 25 4
gpt4 key购买 nike

试图在表中创建一个字段,该字段将获取另一个字段的旧值。我的表与此非常相似:

 ------------ -------------------- ------------------------ 
| id int(10) | price decimal(5,2) | price_old decimal(5,2) |
----------------------------------------------------------

我想要获取的是要复制到当前记录的 price_old 字段 ON UPDATE 中的 price 字段的值。

Is it possible to achieve this only with mysql?

PS:该单元格中包含的数据并不重要。用途是存储商品的先前价格以及之后的价格,以便能够显示它是如何变化的。我只需要最后一个值,而不是表条目的完整历史记录。 (我的 MySQL 服务器是 5.0,如果这很重要的话)

最佳答案

是的,您可以使用 BEFORE UPDATE 触发器 ( documentation )。

我认为这个语法是正确的,但有一段时间没有使用 MySQL,所以你可能不得不玩弄它。如果它是错误的并且你让它正常工作,请告诉我,以便我可以对其进行编辑。

DELIMITER $$
CREATE TRIGGER `price_trigger`
BEFORE UPDATE ON `products`
FOR EACH ROW
BEGIN
IF NEW.price != OLD.price
SET price_old = OLD.price;
END IF;
END$$
DELIMITER ;

关于mysql - MySQL数据库中的历史字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18084952/

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