例如......
我的表设置为gameid - userid - rating
当有人提交评级时,我希望它进行插入。但是,如果userid和gameid已经在一起......我希望它只是更新评级。
但是,如果该用户ID可能只是与另一个gameid配对,则可以继续进行并创建一个新行。
我确信这是在那里,我只是不知道如何说出我想要做的事。
答案 0 :(得分:3)
在(gameid, userid)
上创建一个复合UNIQUE INDEX
,然后使用如下查询:
INSERT INTO `table` (`gameid`, `userid`, `rating`)
VALUES (..., ..., ...)
ON DUPLICATE KEY UPDATE `rating` = ...
请参阅http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html。
答案 1 :(得分:0)
您正在寻找MySQL的REPLACE INTO
功能。文档在这里:http://dev.mysql.com/doc/refman/5.0/en/replace.html