1. 程式人生 > >update更新一個欄位的一些資料為同一個值

update更新一個欄位的一些資料為同一個值

問題:一個表批量修改部分記錄為同一個值

相關問題:一堆state只允許一個為1,其他全為0。

比如:資料庫score 表只許一條記錄的major的值為123,這一條記錄的id為1,其他的major的值都為bbbb

解決:

update score set major = (case when stu_id = '1' then '123' else 'bbbb' end)

注意:

如果需要其他值不變或限定的範圍內修改,需要自己寫where限定條件!否則其他所有值都會變成else設定的值!

其他:

不能不寫end,否則語法錯誤;不能不寫else,否則其他的記錄都會變為空;可以在when條件後面寫and加條件;可以在句末寫where條件

stu_id = '1' then '123' 這樣的條件和設定值也可以寫多個。

MySQL和SqlServer都能用。