mysql update case 更新字段值不固定的操作
在處理批量更新某些數(shù)據(jù)的時(shí)候,如果跟你更新的字段的值都一樣,比如某個(gè)狀態(tài)都更新為某個(gè)固定值,
直接用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 更新的時(shí)候一定要帶上 where 條件,否則會(huì)更新整張表,后果很嚴(yán)重。
補(bǔ)充: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' )
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
保證MySQL與Redis數(shù)據(jù)一致性的6種實(shí)現(xiàn)方案
這篇文章將聚焦在一個(gè)非常重要且復(fù)雜的問題上:MySQL與Redis數(shù)據(jù)的一致性,當(dāng)我們?cè)趹?yīng)用中同時(shí)使用MySQL和Redis時(shí),如何保證兩者的數(shù)據(jù)一致性呢?下面就來分享幾種實(shí)用的解決方案,需要的朋友可以參考下2024-03-03最全的mysql 5.7.13 安裝配置方法圖文教程(linux) 強(qiáng)烈推薦!
這篇文章主要為大家詳細(xì)介紹了linux下mysql 5.7.13 安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-08-08導(dǎo)致mysqld無法啟動(dòng)的一個(gè)錯(cuò)誤問題及解決
這篇文章主要介紹了導(dǎo)致mysqld無法啟動(dòng)的一個(gè)錯(cuò)誤問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02mysql-8.0.16 winx64的最新安裝教程圖文詳解
最近剛學(xué)習(xí)數(shù)據(jù)庫(kù),首先是了解數(shù)據(jù)庫(kù)是什么,數(shù)據(jù)庫(kù)、數(shù)據(jù)表的基本操作,這就面臨了一個(gè)問題,mysql的安裝,我這里下載的是64位的,基于Windows的,需要的朋友可以參考下2019-06-06MySQL與PHP的基礎(chǔ)與應(yīng)用專題之?dāng)?shù)據(jù)查詢
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL?AB?公司開發(fā),屬于?Oracle?旗下產(chǎn)品。MySQL?是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇從數(shù)據(jù)的查詢開始2022-02-02逐步分析MySQL從庫(kù)com_insert無變化的原因
大家都知道com_insert等com_xxx參數(shù)可以用來監(jiān)控?cái)?shù)據(jù)庫(kù)實(shí)例的訪問量,也就是我們常說的QPS。并且基于MySQL的復(fù)制原理,所有主庫(kù)執(zhí)行的操作都會(huì)在從庫(kù)重放一遍保證數(shù)據(jù)一致,那么主庫(kù)的com_insert和從庫(kù)的com_insert理論上應(yīng)該是相等的。2014-05-05CentOs7 64位 mysql 5.6.40源碼安裝過程
這篇文章主要介紹了CentOs7 64位 mysql-5.6.40源碼安裝過程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01mysql 松散的索引掃描(Loose index scan)
今天讀《High Performance MySQL》,發(fā)現(xiàn)一個(gè)“Loose index scan”,之前完全沒有聽說過。網(wǎng)上查了些資料,這個(gè)叫松散的索引掃描(Loose index scan)2016-05-05mysql?8.0.30?降級(jí)到?8.0.27的詳細(xì)步驟
這篇文章主要介紹了mysql?8.0.30?降級(jí)到?8.0.27,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09