2014-11-25 31 views
0

我想簡單的改造應用到一組常見的行,如果一個行符合特定的條件。應用轉換到組一行行的滿足標準的MySQL

例如,在下面的數據,我想1添加到每個值用於具有爲0的值的任何ID ...爲他的所有值,使得該數據

Value ID  
2  1 
3  1 
0  2 
1  2 

會變成這個...

Value ID 
2  1 
3  1 
1  2 
2  2 

任何幫助非常感謝!

回答

0

Arrg。這是MySQL。你可以用join做到這一點:

update t join 
     (select distinct t2.id 
     from t t2 
     where t2.value = 0 
     ) t2 
     on t2.id = t.id 
    set t.value = t.value + 1; 
+0

我大概應該說,表是一個臨時表 - 更新不與臨時表發揮很好 - 什麼解決辦法? – gh0strider18 2014-11-25 14:00:02

+0

@ gh0strider18。 。 。哎呀。我非常瞭解這一點。那麼解決方案就是使用'join'。 – 2014-11-25 14:01:54

+0

嗯,我仍然得到1137錯誤,其中mySql無法重新打開臨時表。再次,我認爲這是一個更新錯誤... – gh0strider18 2014-11-25 14:09:37

相關問題