gpt4 book ai didi

mysql - 通过基于值的决策使 MySQL 查询失败

转载 作者:行者123 更新时间:2023-11-29 23:26:54 24 4
gpt4 key购买 nike

我正在使用如下所示的 MySQL 查询,该查询收集并计算某些源表中的数量,然后将这些行插入/更新到同一 MySQL 5.6 数据库的另一个表中:

INSERT INTO my_table (quantity, id) 
(
SELECT my_quantity, my_id FROM
(
SELECT my_id, (one_quantity-COALESCE(more_quantity,0)) my_quantity, ... FROM
/* Some very complicated sub-query*/
) t
)
ON DUPLICATE KEY UPDATE quantity=my_quantity

我现在的问题是 my_quantity 可以包含负值,因为它是子查询中两列相减的结果。负值通常不应发生,因为基值应始终 >= 减去的值。但是,如果有人以完全错误的方式填充表,这种情况仍然可能发生,在这种情况下,我根本不希望执行 INSERT 或 UPDATE。

那么,如果 my_quantity 中不太可能出现一个或多个负值,是否有一种方法可以导致某种(自定义)错误,从而使整个查询停止?或者在这种情况下我是否需要使用服务器存储过程?

最佳答案

我们结束了服务器存储过程的实现,该过程在成功或失败时返回 1 或 0 作为结果。此外,如果使用临时表出现负值,SSP 也会注意不更改数据库。

该过程变得相当复杂,但我们找不到更简单的解决方案(尤其是没有 SSP 的可靠配置独立解决方案)。

关于mysql - 通过基于值的决策使 MySQL 查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26887533/

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