【问题标题】:mysqli update with calculation in querymysqli 在查询中更新计算
【发布时间】:2013-07-26 15:45:12
【问题描述】:

在我们的购物车流程中,我们不希望在支付网关返回信用卡购买的批准代码之前从商店库存中移除商品。因此,假设付款被批准,我们需要从库存中扣除购物车物品。

在 mysqli UPDATE 查询中,如果可能的话,我如何编写它以便设置的新值是行当前值的结果 - 存储在购物车 Item_qty 字段中的数量?

mysqli_query($con,"UPDATE table1 SET Qty='`**current-value**` - $proc[Item_Qty]' WHERE buyer='$user'");

我确实知道我可以使用多个查询来完成此操作,执行一些数学运算,然后将值写回数据库,但我希望通过在单个 mysqli 查询中完成所有操作,有一种更简洁的方法和更少的代码。

【问题讨论】:

  • 我很惊讶有些人会在没有解释的情况下 -1 一个问题来证明他们的理由。似乎这里的一些人不认为 stackoverflow 应该是所有编程级别的通用资源。但相反,只有当问题看起来足够复杂以保证他们的时间时,它才有价值。 - 亲爱的 -1 贡献者,感谢您的无用

标签: php mysqli sql-update


【解决方案1】:

您可以在更新中使用表的当前值。

mysqli_query($con,"UPDATE table1 SET Qty = Qty - $proc[Item_Qty] WHERE buyer='$user'");

【讨论】:

    【解决方案2】:

    简单。您可以在计算中使用字段本身:

    UPDATE table1 SEt Qty=Qty - $proc[Item_Qty]
                          ^^^--- this is 100% perfectly valid
    

    【讨论】:

      【解决方案3】:

      应该这样做:

      $query = "UPDATE table1 SET Qty = Qty - $proc[Item_Qty] WHERE buyer='$user'";
      

      您只是简单地再次使用字段名称来获取其当前值。

      【讨论】:

        猜你喜欢
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 2013-03-13
        • 2019-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多