1
我試圖更新表中的多個行,但由於服務器資源受限,我無法在單獨的UPDATE語句中執行此操作。我知道這可以通過使用CASE在單個語句中完成,但由於表需要使用組合鍵(三列)而不是單個值進行更新,因此我無法使其工作。使用MySQL中的複合鍵更新多行
這個例子的工作原理:
UPDATE myTable
SET newValue = CASE id
WHEN 1 THEN 'val1'
WHEN 2 THEN 'val2'
WHEN 3 THEN 'val3'
END,
WHERE id IN (1,2,3)
但我需要這樣的工作:
UPDATE myTable
SET newValue = CASE (id,x,y)
WHEN (1,1,1) THEN 'val1'
WHEN (1,1,2) THEN 'val2'
WHEN (1,1,3) THEN 'val3'
END,
WHERE id IN (1,2,3)
有沒有辦法有這樣的事情在一個UPDATE語句還是我去必須解決有限的服務器資源?
非常感謝霍爾格,我的查詢時間剛剛顯著回落。 – 2012-07-18 00:58:23