佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > mysql update case 更新字段值不固定的操作

mysql update case 更新字段值不固定的操作

熱門標簽:地方門戶網(wǎng)站 百度競價排名 Linux服務器 AI電銷 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) 服務外包 呼叫中心市場需求

在處理批量更新某些數(shù)據(jù)的時候,如果跟你更新的字段的值都一樣,比如某個狀態(tài)都更新為某個固定值,

直接用update table set xxx=xxx where xxx=xxx 這種即可

如果要更新的字段的值是不固定的,用下面的update case when where 這種方式就更方便了

UPDATE tablename 
set a1= CASE userid 
 WHEN 1 THEN a1+5 
 WHEN 2 THEN a1+2 
 END,
a2= CASE userid 
 WHEN 1 THEN a2-5 
 WHEN 2 THEN a2-2
END
where userid in (1,2)

用update case when 更新的時候一定要帶上 where 條件,否則會更新整張表,后果很嚴重。

補充:Mysql update case when 聯(lián)合使用 批量更新

直接碼sql:

room字段值為 18F-N01 這種格式

UPDATE t_report SET room = CONCAT_WS( '-', SUBSTRING_INDEX(room, '-', 1) ,
 CASE SUBSTRING_INDEX(room, '-', -1) 
 WHEN 'N01' THEN 'N02' 
 WHEN 'N02' THEN 'N01'
 WHEN 'N03' THEN 'N11'
 WHEN 'N04' THEN 'N10'
 WHEN 'N05' THEN 'N09'
 WHEN 'N06' THEN 'N08'
 WHEN 'N07' THEN 'N07'
 WHEN 'N08' THEN 'N06'
 WHEN 'N09' THEN 'N05'
 WHEN 'N10' THEN 'N03'
 END )
WHERE rid IN ( 
 SELECT rid FROM t_report WHERE rdate = '190306' AND ordinal BETWEEN '23' AND '32'
)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 實操MySQL+PostgreSQL批量插入更新insertOrUpdate
  • MySQL update set 和 and的區(qū)別
  • MySQL UPDATE 語句的非標準實現(xiàn)代碼
  • Mysql update多表聯(lián)合更新的方法小結
  • mysql事務select for update及數(shù)據(jù)的一致性處理講解
  • MySQL UPDATE 語句一個“經(jīng)典”的坑

標簽:衡水 蘭州 銅川 黃山 崇左 湖南 仙桃 湘潭

巨人網(wǎng)絡通訊聲明:本文標題《mysql update case 更新字段值不固定的操作》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    开封市| 咸宁市| 牡丹江市| 敦煌市| 文安县| 麻城市| 福州市| 东辽县| 华阴市| 营山县| 鄂托克旗| 阳朔县| 曲阳县| 樟树市| 临潭县| 蚌埠市| 永顺县| 宝鸡市| 包头市| 南雄市| 海口市| 文成县| 葫芦岛市| 大足县| 正安县| 礼泉县| 万源市| 弥渡县| 太白县| 石棉县| 万宁市| 吴江市| 磐安县| 隆德县| 新邵县| 乌海市| 织金县| 开原市| 黑水县| 巍山| 方城县|