update pb_vip_table
set integral = case mobile
when 13528967264 then '3'
when 13528967263 then '5'
when 13528967262 then '6'
endwhere mobile in (13528967264,13528967263,13528967262)
這裡我是根據**號碼更新字段。這句sql的意思是,更新integral字段,如果欄位mobile=13528967264 則integral的值為3,如果mobile=13528967263
則 integral
的值為5,如果mobile=13528967262
則 integral
的值為6。
即是將條件語句寫在了一起。
這裡的where部分不影響**的執行,但是會提高sql執行的效率。確保sql語句僅執行需要修改的行數,這裡只有3條資料進行更新,而where子句確保只有3行資料執行。
執行sql:
執行後:
mysql 批量更新 MySQL批量更新
我有2個表 mysql data details accounts invoices 理想情況下,每個data details都應具有accounts invoices id.data details有乙個帶有accounts invoices主鍵的外來鍵 由於某種原因,有data details記...
mysql有則更新 批量 mysql 批量更新
private function parseupdate data,field,table sql update set keys array keys current data print r keys die foreach keys as column 如何用一條sql語句實現批量更新?mys...
mysql 批量更新
最近有用到mysql批量更新,使用最原始的批量update發現效能很差,將網上看到的總結一下一共有以下三種辦法 1.批量update,一條記錄update一次,效能很差 update test tbl set dr 2 where id 1 2.replace into 或者insert into ...