mysql - INSERT INTO...ON DUPLICATE KEY 错误

标签 mysql

我有这个问题

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'

最佳答案

您的 INSERT 中有一个 WHERE 子句。这应该在 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'

关于mysql - INSERT INTO...ON DUPLICATE KEY 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8081360/

相关文章:

php - 关于插入函数和 POST 函数的 SQL 语法错误

mysql - ASP.Net 表的多个文本框 Controller

php - 在我的 HTML 中,我使用 PHP 调用的 MySQL 条目只带来第一个词

php - 本地服务器连接到远程mysql

mysql innodb 更改两个具有外键的表

php - 如何在 PHP 中插入 NULL 值

mysql - 为什么我的 CREATE TABLE 语句没有反引号就不能运行?

java - Hibernate 忽略@OneToMany 映射的@JoinColumn 值

java - hibernate @DynamicUpdate

mysql - 如何加快数据加载到 InnoDB (LOAD DATA INFILE)?