像increment a field with same value这样的问题 但我希望每行增加一个值
例如: a是主键
Original data
a | share_count | read_count |
1 | 2 | 3 |
through
INSERT INTO table (a, share_count,read_count)
VALUES(1,share_count+1,read_count+2),(2,share_count+2,read_count+3)
ON DUPLICATE KEY UPDATE
a=VALUES(a),share_count=VALUES(share_count),read_count=VALUES(read_count)
Goal result
a | share_count | read_count |
1 | 3 | 5 |
2 | 2 | 3 |
我试过了,但是失败了。谢谢回答
答案 0 :(得分:0)
通常,如果您尝试INSERT
,请插入count=1
,而不是share_count+2
或read_count+3
。
如果我猜错了你的目标,你需要这样的东西:
http://sqlfiddle.com/#!9/9d4c6/1
INSERT INTO t1 (a, share_count,read_count)
VALUES
(1,1,1),
(2,1,1)
ON DUPLICATE KEY UPDATE
share_count=share_count+1,read_count=read_count+1