2017-08-23 34 views
0

如何更新10行有一個SQL請求更新一個SQL請求多功能使用行

UPDATE gallery_photos SET queue=:queue WHERE id = :id AND SET queue=:queue2 WHERE id = :id2"; 

像這樣

+0

你想只用1個值或多個值設置整個行? –

+0

不,每一行都會有其他值(隊列) –

+0

這非常不合適,很難調試/跟蹤。爲什麼要這樣做?只需準備一份聲明並在交易中多次執行。 – Geoffrey

回答

2

你可以這樣做:

UPDATE gallery_photos 
    SET queue = (CASE WHEN id = :id THEN :queue 
         WHEN id = :id2 THEN :queue2 
         ELSE queue -- strictly speaking, this is not not be necessary because of the outer `WHERE` 
       END) 
    WHERE id IN (:id, :id2);