2

如何在 php 中运行 sql 查询以插入表并更新另一个表。例如,当输入一个库存并提交时,sql查询应该运行一个insert语句来更新批处理文件,并运行update语句来更新product表中的totalquantityinstock(新数量+现有数量)。希望我的解释能被理解。

表:产品(ProdId、名称、Cat、TtlQtyInStock)和 ProdInventory(InvID、ProdID、Qty)

在 php 表单中输入新的 ProdInventory 记录后,查询应插入 ProdInventory 并更新 Product 表中的 TtlQtyInStock 列)。我想要的是当前产品的库存为 20,所以当新的 10 个相同的库存时prod 加上 shld 总和 20 + 10。

我目前的查询是:

$query = "INSERT INTO `ProdInventory (`ProdId`, `Quantity`) VALUES ('$ProdID', '$Quantity')";
"UPDATE product
SET QuantityInStock = (QuantityInStock + $Quantity)
WHERE ProductCode = $ProductCode";

我确实浏览了一些网站,但没有找到适合我设计的东西。如果有人帮忙... :)

TIA。

4

3 回答 3

0

您需要运行两个更新语句,而不是插入和更新。

这可以使用存储过程或 multi_query (MYSQLi) 在一次 mysql 之旅中实现。

这是一个参考链接:

http://php.net/manual/en/mysqli.multi-query.php

http://php.net/manual/en/mysqli.quickstart.stored-procedures.php

于 2012-08-06T16:12:03.713 回答
0

尽管不是最好的解决方案,但可能的解决方案是创建一个插入触发器。所以基本上它的作用是每次在表中插入触发器都会触发并更新股票的值(它可能在不同的表上

于 2012-08-06T16:13:01.963 回答
0

我建议你创建一个视图。在该视图中,您可以创建一个列,您可以在其中计算所需的任何内容。这样,您的数据库结构将非常干净,并且错误的机会将减少恕我直言

于 2012-08-06T16:52:52.063 回答