gpt4 book ai didi

php - MySQL 系统中的初期 bug

转载 作者:行者123 更新时间:2023-11-29 14:10:16 25 4
gpt4 key购买 nike

在基于旧系统的系统中,我们对用户库存进行更新。库存包含许多不同的商品,用户每个商品 ID 占一行,每行是他们拥有的该商品的数量。

现在,在这个相当古老且庞大的代码中的某个地方存在一个问题,用户最终可能会得到负数量的元素。这绝对不应该发生。

我们认为我们可以尝试创建一些报告来帮助我们发现问题,而不是从顶部解决问题并检查与库存表交互的每一段代码。

在我开始实现一些我认为可以解决这个问题的东西之前,我想我应该将它发布给社区,以了解他们如何解决它。

也许可以从创建更新 MySQL 规则开始,将事件插入另一个表中以进行更仔细的检查等。要有创意。

最佳答案

如果添加时间戳字段,那么您将知道上次操作执行的时间 - 由此,您可以在 mysql 日志中找到更新条目,并可能与应用程序日志保持一致。

或者,您可以在 table 上设置触发器...

CREATE TRIGGER no_negatives_in_yourtable
BEFORE UPDATE ON yourtable
FOR EACH ROW
BEGIN
IF (NEW.value<0) THEN
/* log it (NB will be rolled back if subsequent statement enabled */
INSERT INTO badthings (....) VALUES (...);
/* this forces the operation to fail */
DROP TABLE `less than zero value in yourtable`;
END IF;
END

关于php - MySQL 系统中的初期 bug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13607152/

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