表结构 points:
—
id | a | b | cDate
—
1 | 889 | 767 | 2016-05-23
—
2 | 376 | 384 | 2016-05-30
……
a 记录上周积分,b记录本周积分,cDate记录上次更新积分的日期
现在 id=1 的 cDate字段日期已经变成了上周WEEK(CURDATE()) > WEEK(CURDATE(cDate)),要把b字段积分更新到a字段,b字段积分更新为1
现在 id=2 的 cDate字段日期仍然是本周,a 字段积分不变,b字段积分 +1
讨教一下怎么样写 update 语句?
—
id | a | b | cDate
—
1 | 889 | 767 | 2016-05-23
—
2 | 376 | 384 | 2016-05-30
……
a 记录上周积分,b记录本周积分,cDate记录上次更新积分的日期
现在 id=1 的 cDate字段日期已经变成了上周WEEK(CURDATE()) > WEEK(CURDATE(cDate)),要把b字段积分更新到a字段,b字段积分更新为1
现在 id=2 的 cDate字段日期仍然是本周,a 字段积分不变,b字段积分 +1
讨教一下怎么样写 update 语句?
解决方案
40
update points
set a=if(WEEK(CURDATE()) > WEEK(CURDATE(cDate)),b,a),
b=if(WEEK(CURDATE()) > WEEK(CURDATE(cDate)),1,b+1)
set a=if(WEEK(CURDATE()) > WEEK(CURDATE(cDate)),b,a),
b=if(WEEK(CURDATE()) > WEEK(CURDATE(cDate)),1,b+1)