第一種:直接使用SQL語句,這種方式可以避免並發操作造成的數據不一致問題
UPDATE 表名稱 SET 列名稱 = 列名稱 + 1 WHERE ……
第二種:將上面的語句邏輯封裝成一個存儲過程,加上事務處理,達到互斥的目的,並且由代碼調用存儲過程完成。
UPDATE T SET A = CASE WHEN A IS NULL THEN 0 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 新聞編號='*******'
