mysqli更新与查询中的计算

时间:2013-07-26 15:45:12

标签: php mysqli sql-update

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

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

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

我明白我可以使用多个查询完成此操作,执行一些数学运算然后将值写回数据库,但我希望通过在单个mysqli查询中执行所有操作,可以使用更少的代码。 / p>

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

这应该这样做:

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

您只需再次使用字段名称获取其当前值。