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

标签 php mysql rating-system

<分区>

我有一个表 rating,其中包含这些字段 rate_id、game_id、rating、ip。假设这些字段具有以下值 1,130,5,155.77.66.55

当用户尝试为游戏投票时,我想用 mysql 检查他是否已经为该游戏投票,这样 mysql 将检查 ipgame_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/

相关文章:

php - 有人可以推荐我可以添加到我的网站的 php mysql 评级系统吗

php - 任何插入的数字在mysql中都显示为1

php - mysql关于html和php的问题

php - 使用 PHP-Webdriver 在 Selenium 2 中的框架之间切换

php - 使用 Laravel Blade 显示来自 Postgres 的 JSON 数据

mysql - 复制 MySQL InnoDB 文件

php - 如何将 HTML 表数据插入 MySQL

css - React 星级评分未按预期工作

mysql - 选择没有地址的客户

android - RatingBar 安卓问题