2012-10-03 47 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;