sql 更新时 实现 数字字段自加1

第一种:直接使用SQL语句,这种方式可以避免并发操作造成的数据不一致问题
UPDATE 表名称 SET 列名称 = 列名称 + 1 WHERE ……

第二种:将上面的语句逻辑封装成一个存储过程,加上事务处理,达到互斥的目的,并且由代码调用存储过程完成。

UPDATE SET A = CASE WHEN IS NULL THEN ELSE A + 1 END;

update dj_wlkc SET  浏览次数= CASE WHEN 浏览次数 IS NULL and 课程编号='******'  THEN 1 ELSE 浏览次数 + 1  END;

update:2017-12-07

--不可行,对每一行数据都 + 1了
update dj_wlkc SET 浏览次数= CASE WHEN 浏览次数 IS NULL and 课程编号='*****' THEN 1 ELSE 浏览次数 + 1 END;

--可行
update dj_xwxx SET 浏览次数= CASE WHEN 浏览次数 IS NULL THEN 1 else 浏览次数 + 1 END where 新闻编号='*****'
--可行
update dj_xwxx SET 浏览次数= CASE WHEN 浏览次数 IS NULL THEN 1 when 浏览次数 is not NULL and 新闻编号='****' then 浏览次数 + 1 END where 新闻编号='*******'

原文地址:https://www.cnblogs.com/jeryM/p/7249139.html