<分区>
我有一个表 rating
,其中包含这些字段 rate_id、game_id、rating、ip
。假设这些字段具有以下值 1,130,5,155.77.66.55
当用户尝试为游戏投票时,我想用 mysql 检查他是否已经为该游戏投票,这样 mysql 将检查 ip
和 game_id
是否已经存在,如果它们存在则 mysql 将更新 rating
的值,否则将创建一个新条目。
执行此操作的有效方法是什么?
<分区>
我有一个表 rating
,其中包含这些字段 rate_id、game_id、rating、ip
。假设这些字段具有以下值 1,130,5,155.77.66.55
当用户尝试为游戏投票时,我想用 mysql 检查他是否已经为该游戏投票,这样 mysql 将检查 ip
和 game_id
是否已经存在,如果它们存在则 mysql 将更新 rating
的值,否则将创建一个新条目。
执行此操作的有效方法是什么?
最佳答案
创建涵盖ip + game_id
的唯一索引。之后你可以使用 INSERT ... ON DUPLICATE KEY UPDATE声明。
所以总的查询会是这样的
INSERT INTO rating (rate_id, game_id, rating, ip) VALUES (1,130,5,'155.77.66.55')
ON DUPLICATE KEY UPDATE rating = 5
关于php - 如果存在某些值,则 mysql 更新,否则创建一个新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755465/