如何在php中运行SQL查询以插入表并更新另一个表。例如,当输入和提交库存时,sql查询应运行insert语句来更新批处理文件并运行update语句以更新product表中的totalquantityinstock(新数量+现有数量)。希望我的解释能够被理解。
表:产品(产品,名称,Cat,TtlQtyInStock)和ProdInventory(InvID,ProdID,Qty)
以php格式输入新的ProdInventory记录后,查询应该插入ProdInventory并更新Product表中的TtlQtyInStock列。)我想要的是当前产品cld的库存为20,所以当新的库存时添加10个相同的产品,它总和20 + 10。
我目前的查询是:
$query = "INSERT INTO `ProdInventory (`ProdId`, `Quantity`) VALUES ('$ProdID', '$Quantity')";
"UPDATE product
SET QuantityInStock = (QuantityInStock + $Quantity)
WHERE ProductCode = $ProductCode";
我确实浏览了一些网站,但是cldnt找到了适合我设计的东西。如果有人帮助......:)
TIA。
答案 0 :(得分:0)
您需要运行两个更新语句,而不是插入和更新。
这可以使用存储过程或multi_query(MYSQLi)在一次mysql旅行中实现。
以下是供参考的链接:
http://php.net/manual/en/mysqli.multi-query.php
http://php.net/manual/en/mysqli.quickstart.stored-procedures.php
答案 1 :(得分:0)
虽然不是最好的解决方案是通过创建插入触发器。所以基本上它所做的就是每当在表格中进行插入时触发器触发并更新股票的价值(它可能在不同的表格上)
答案 2 :(得分:0)
我建议你创建一个视图。在该视图中,您可以创建一个列,您可以在其中计算所需的任何内容。 这样,您的数据库结构将非常干净,错误的可能性将减少imho