mysql - MYSQL - 在重复更新时插入
问题描述
我有一个像这样的表 USER:
用户 -> 主键(电子邮件、姓名)
email name points
abc@xcv.com abc 12
fre@xcv.com fre 18
假设现在用户 - abc 多赢了 10 分。
如果 useremail,name 在 USER 表中不存在,则插入 useremail 名称点。如果找到重复键,则仅更新点列。
解决方案
insert ... on duplicate key
语法如下:
insert into users(email, name, points)
values('abc@def.com', 'abc', 10)
on duplicate key update points = points + values(points)
推荐阅读
- c# - Amazon S3 SDK 不允许我使用 GetObjectMetadata。它只允许我使用 GetObjectMetadataAsync
- flutter - Flutter 中的多页面状态处理
- angular - 如何在不同模块的角度中的两个不同组件之间共享数据
- c++ - Vex Robot C++ 的转向问题
- mysql - 带有左外连接的 LINQ 查询只需要最近的记录
- oracle - ORA-00942: 不存在与其他用户连接的表或视图
- arrays - 如何在Swift中将数组中的所有项目划分为Double
- ruby-on-rails - 我有一个下拉菜单,想根据 Rails 中的答案显示部分内容
- api - DevOps API 搜索查询语法
- java - 使用 Java 求解 CPLEX .mod