MYSQL ON DUPLICATE KEY查询问题

时间:2011-07-16 17:09:28

标签: mysql sql mysql-error-1064

对此查询有疑问,有人都知道这个问题吗?

INSERT INTO options
  (grouptogether) 
VALUES 
  ('0') 
WHERE userid = '2' ON DUPLICATE KEY UPDATE grouptogether = '0';

INSERT INTO options 
  (grouptogether) 
VALUES 
  ('0') 
ON DUPLICATE KEY UPDATE grouptogether = '0' 
WHERE userid = '2';

我尝试了移动where子句的两种组合,但似乎没有这样做。

1 个答案:

答案 0 :(得分:0)

INSERT个查询没有WHERE个子句。在INSERT INTO...ON DUPLICATE KEY UPDATE查询中,更新的行是发生密钥冲突的行;您不需要通过WHERE子句指定行。

你可能想做这样的事情:

INSERT INTO options
  (userid, grouptogether) 
VALUES 
  (2, '0') 
ON DUPLICATE KEY UPDATE grouptogether = VALUES(grouptogether)