[Mysql] 將記錄由0變1、1變0;或是判斷後再改值的寫法

URL Link //n.sfs.tw/10478

2016-12-25 01:45:35 By 張○○

MySQL 將記錄由0變1,1變0的SQL寫法

假如欄位 `active` 為0 是失效;1 為有效,他的型態是 tinyint

想用一個 SQL 就讓0變1,或是1變0而不想先讀取判斷的話,可以用這樣的方法:

update `table` set `active`= NOT `active` where ...

對於修改時進階的判斷填值的狀況,就得用到 if 這個函數

update + if 的簡易用法

當有一個欄位 `Pay`,值可能是 'Y' 或 'N',有更新時希望能夠 Y和N 切換,應該怎麼寫?

update `table` set  `Pay`= if(`Pay`='Y','N','Y') where ...

原文 2010-01-05 03:16:27 、 2010-06-11 11:32:30