首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL:如何将重复键上的字段更新为非1的值?

MySQL:如何将重复键上的字段更新为非1的值?
EN

Stack Overflow用户
提问于 2017-10-23 01:43:24
回答 1查看 403关注 0票数 0

我已经看到了在尝试重复插入时如何递增列值的问题:

代码语言:javascript
复制
insert into table (col) values (val) on duplicate update countcol=countcol+1;

但是如何通过变量值来递增countcol呢?

例如:

代码语言:javascript
复制
insert into table (col, count) values (val1, val2) on duplicate update count=count+val2?

假设我正在跟踪学生阅读的书籍数量,我的表格包含:

代码语言:javascript
复制
Mark | 5

马克报告说,他又读了两本书,所以我想:

Mark | 7 (在现有总数上加2)

但是我想要处理Jerry (程序的新手)读两本书的情况

insert--> Jerry | 2

也许是这样的;

代码语言:javascript
复制
insert into readers (student, count)values ('Mark',3 as read) 
on duplicate key update count=count+read;

对于在mySQL中提交的值,是否有我可以访问的实际名称/引用?这可以在一条语句中完成吗?或者,我是否需要首先测试记录是否存在,然后根据结果插入/更新?

EN

回答 1

Stack Overflow用户

发布于 2017-10-23 01:53:54

使用values()

代码语言:javascript
复制
insert into table (col, count)
    values (val1, val2)
    on duplicate update count = count + values(count);

values()是指传递到insert中的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46877272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档