【发布时间】:2017-10-02 14:58:47
【问题描述】:
我的 sql 需要替代语法,将 qty 从另一个表中扣除到我的原材料表中
$sql3 = "UPDATE material_inventory
join product_check
ON material_inventory.qty = material_inventory.qty
SET material_inventory.qty = material_inventory.qty - product_check.qty
WHERE product_check.pc_id = '$id'
AND product_check.date2 = '$date'
LIMIT 1";
$result3 = mysqli_query($conn,$sql3);
看起来限制在使用连接子句的连接更新中不起作用。 总之谢谢
【问题讨论】:
-
Limit确实适用于连接更新。ON material_inventory.qty = material_inventory.qty基本上是1=1这意味着你有一个笛卡尔积。这可能不是你想要的。 -
我也可以确认它有效。现在,这告诉您,您的逻辑中有一个明显的漏洞,并且取决于您如何测试它是否有效,可能是一个非常大的漏洞,也可能是一个相当小的漏洞。你是如何断定它不起作用的?
-
感谢您的回复,我现在应该怎么做您有替代语法吗? @bassxzero
-
@erwin 语法不是问题,你的逻辑是。发布您的完整表格结构和预期结果。
-
@erwin 那是因为
ON条件错误,如第一条评论所述。