链接到辅助表的插入/更新查询的MYSQL语法错误

时间:2013-07-16 01:59:37

标签: mysql pdo

我有一个查询,可以根据行是否存在来更新或插入。

然后我还将它连接到辅助表,以便我可以在正确的ID上链接它们但是我得到语法错误并且不确定如何解决它。

这是我的疑问:

INSERT INTO resources as r (r.quantity,r.tid)
  SELECT r.quantity+?,u.tid                                             
    FROM users u WHERE u.uid = ? 
ON DUPLICATE KEY UPDATE
   r.quantity = r.quantity+?, r.tid = u.tid

错误是

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 'as r (r.quantity,r.tid) SELECT 
r.quantity+'0',u.tid FR' at line 1

任何人都能解释我误解的内容以及我如何解决它?

1 个答案:

答案 0 :(得分:1)

insert语句不带别名。我想你想要这样的东西:

INSERT INTO resources(quantity, tid)
    SELECT ?, u.tid                                             
    FROM users u
    WHERE u.uid = ? 
    ON DUPLICATE KEY
        UPDATE quantity = quantity+?