如果存在某些值,则mysql更新,否则创建新条目

Sot*_*ris 2 php mysql rating-system

我有一张rating包含这些字段的表格rate_id, game_id, rating, ip.假设这些字段具有以下值1,130,5,155.77.66.55

当用户试图把票投给一个游戏,我想用MySQL来检查他是否已经投票支持这个游戏,所以MySQL将检查是否ipgame_id已经存在,如果存在,那么MySQL将更新值rating,否则将创建一个新的条目.

有效的方法是什么?

zer*_*kms 7

创建涵盖的唯一索引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
Run Code Online (Sandbox Code Playgroud)