如果存在,则更新MySQL更新插入 - 重复密钥混淆

时间:2013-09-05 18:37:56

标签: mysql

如果没有找到记录,我想编写一个插入数据库的语句,如果现有记录已经存在,则更新现有记录。

我的桌子是这样的:

**ID** | Value | UserID | VoteID
   1       10      567      54
   2       19      600      78

我想做以下(用半伪写的):

IF EXISTS (SELECT ID FROM table WHERE UserID = 600 AND VoteID = 78)
  UPDATE table SET Value = 100 WHERE UserID = 600 AND VoteID = 78
ELSE 
  INSERT INTO table (Value, UserID, VoteID) Values(100, 600, 78)

在这种情况下如何使用'On Duplicate Key'呢? 感谢

1 个答案:

答案 0 :(得分:8)

INSERT INTO table (Value, UserID, VoteID)
VALUES (100, 600, 78)
ON DUPLICATE KEY UPDATE Value = 100