如果DNE,则插入其他更新Mysql行

时间:2013-07-03 19:07:45

标签: mysql

我正在尝试“在DUPLICATE KEY UPDATE”,但它不断添加新行而不是更新。

INSERT INTO favorites (userid, topicid) 
VALUES ('2', '50')
ON DUPLICATE KEY UPDATE
active = 0;

我的收藏夹表格设置如下:

favoritesid (AI)
userid
topicid
active (boolean)

如果userid和topicid已经存在(两者都在同一行),那么我只想将active更改为0.

这可能吗?

1 个答案:

答案 0 :(得分:1)

为了点击ON DUPLICATE KEY,必须在插入之前存在密钥。如果那里没有唯一的密钥,它将无法帮助您使用它。

要么添加唯一键,要么在插入之前必须首先查询表中是否已存在您的值。