2012-10-03 44 views
3

如何使用role = 1將所有記錄更新爲值2並將role = 2記錄爲值1如何交換記錄值?

login | role 
----------+------ 
john  | 1 
anne  | 2 
adam  | 1 
robert | 1 
katie | 1 
bob  | 2 
tom  | 2 
...many records with 1 and 2 values 

回答

4
UPDATE table 

SET role = CASE role 
       WHEN 1 THEN 2 
       ELSE 1 
      END 

WHERE role = 1 OR role = 2; 
+0

+1速度更快.. –

+0

打我,這裏是一個小提琴 - http://sqlfiddle.com/#!2/96a67/1 – Taryn

1
UPDATE [table] 
SET role = CASE role 
       WHEN 1 THEN 2 
       ELSE 1 
      END 
WHERE role = 1 OR role = 2;