2014-07-23 31 views
0

在下面的Update命令我想所有delay字段設置爲0更新和2id必須更新1MySQL的兩次用一個命令

enter image description here

UPDATE `tsms_entry_exit` 
     SET `delay`=( 
         CASE `delay` 
          WHEN `id` = 2 THEN 1 
         ELSE 0 
         END 
        ) 
WHERE user_id = 1 

否則:

UPDATE `tsms_entry_exit` 
     SET `delay`=0 
WHERE user_id = 1; 

UPDATE `tsms_entry_exit` 
     SET `delay`=0 
WHERE user_id = 1 AND id = 2 

如何在一個更新命令中更新兩次?

回答

1

如果我理解得很好,可能是你想要這個

UPDATE `tsms_entry_exit` 
     SET `delay`= CASE WHEN `id` = 2 THEN 1 
      ELSE 0 
     END 
WHERE user_id = 1 
0

這是你可以使用update命令

update tsms_entry_exit set 
delay = 
    case when id = 2 then 1 
    else 0 
end 
where user_id = 1 

DEMO