MYSQL - 在重复更新时插入

Posted

技术标签:

【中文标题】MYSQL - 在重复更新时插入【英文标题】:MYSQL - INSERT INTO ON DUPLICATE UPDATE 【发布时间】:2020-05-19 22:02:56 【问题描述】:

我有一个这样的表 USER:

用户 -> 主键(电子邮件、姓名)

email          name       points
abc@xcv.com    abc         12
fre@xcv.com    fre         18

假设现在用户 - abc 又赢得了 10 分。

如果 useremail,name 在 USER 表中不存在,则插入 useremail 名称点。 如果发现重复键,则仅更新点列。

【问题讨论】:

【参考方案1】:

insert ... on duplicate key 语法如下:

insert into users(email, name, points)
values('abc@def.com', 'abc', 10)
on duplicate key update points = points + values(points)

【讨论】:

以上是关于MYSQL - 在重复更新时插入的主要内容,如果未能解决你的问题,请参考以下文章

mysql ON DUPLICATE KEY UPDATE重复插入时更新

mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法

如果 COUNT = 0 [重复],如何在 mySQL 中插入或更新查询

如果存在则如何更新,否则在php mysql中插入[重复]

mysql主键重复则更新,不重复则插入

nodejs mysql批量插入重复密钥更新