我已经看到了在尝试重复插入时如何递增列值的问题:
insert into table (col) values (val) on duplicate update countcol=countcol+1;
但是如何通过变量值来递增countcol呢?
例如:
insert into table (col, count) values (val1, val2) on duplicate update count=count+val2?
假设我正在跟踪学生阅读的书籍数量,我的表格包含:
Mark | 5
马克报告说,他又读了两本书,所以我想:
Mark | 7
(在现有总数上加2)
但是我想要处理Jerry (程序的新手)读两本书的情况
insert--> Jerry | 2
也许是这样的;
insert into readers (student, count)values ('Mark',3 as read)
on duplicate key update count=count+read;
对于在mySQL中提交的值,是否有我可以访问的实际名称/引用?这可以在一条语句中完成吗?或者,我是否需要首先测试记录是否存在,然后根据结果插入/更新?
发布于 2017-10-23 01:53:54
使用values()
insert into table (col, count)
values (val1, val2)
on duplicate update count = count + values(count);
values()
是指传递到insert
中的值。
https://stackoverflow.com/questions/46877272
复制相似问题