我有这个查询
INSERT INTO outlet_inventory (outletid, itemid, itemqty)
VALUES('$outletid', '$itemid', '$qty')
WHERE outletid = '$outletid'
ON DUPLICATE KEY
UPDATE outlet_inventory.itemqty = outlet_inventory.itemqty + $qty
据我所知,它没有错误,但我收到此错误
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE outletid = 5' at line 5
任何想法都错了吗?
更新了我的查询...仍然收到相同的错误。
INSERT INTO outlet_inventory (outletid, itemid, itemqty)
VALUES('$outletid', '$itemid', '$qty')
ON DUPLICATE KEY
UPDATE outlet_inventory.itemqty = outlet_inventory.itemqty + $qty
WHERE outletid = '$outletid'
答案 0 :(得分:3)
您的WHERE
上有INSERT
条款。这应该在UPDATE
上。
INSERT INTO outlet_inventory (outletid, itemid, itemqty)
VALUES('$outletid', '$itemid', '$qty')
ON DUPLICATE KEY
UPDATE outlet_inventory.itemqty = outlet_inventory.itemqty + $qty
WHERE outletid = '$outletid'
答案 1 :(得分:3)
WHERE
是not valid in an INSERT
statement,也没有任何意义。
我认为你的意思是它成为你UPDATE
条款的一部分。
答案 2 :(得分:0)
试试这个
INSERT INTO outlet_inventory (outletid, itemid, itemqty)
VALUES('$outletid', '$itemid', $qty)
ON DUPLICATE KEY
UPDATE itemqty = itemqty + $qty
修改强>
您不需要也不能将WHERE
子句放入INSERT ... ON DUPLICATE KEY UPDATE
语句中。请参阅此处的文档:http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
您只能将WHERE
放入正常的UPDATE
语句中。