2010-04-21 74 views
11

我有一個名爲pollData的表。它將始終只包含1行。它具有每個類型爲int的列option1,option2,option3,option4,option5。在開始時,這些列的值爲0。如何將1添加到任何列,請說選項2?我的意思是,我是先檢索該列的值,執行加法,然後再儲存,還是有任何自動遞增功能?如何將1添加到mysql中現有行的列的值

+0

你是否也和我一起的結果的解決方案?它在回答部分。 – Karthik 2010-04-21 05:15:04

+0

沒有試過。旁觀者的解決方案看起來很完美。另外,我不認爲它會起作用,因爲我的所有選項在開始時已經設置爲0。 isset(..)將始終返回true。 – mithun1538 2010-04-22 16:13:22

回答

27

你可以嘗試一個正常的UPDATE,只是更換有問題的列選項。

UPDATE pollData SET option2 = option2 + 1 
+0

這就是爲什麼我喜歡MySQL – DavidJB 2013-04-20 18:52:52

+1

在交易中,當然。本身不裸體。 – 2015-10-15 22:12:01

1

這樣你可以嘗試:

if(isset($option1)) { 
     $optadd = " option1 = option1+1"; 
    } else if(isset($option2)) { 
     $optadd = " option2 = option2+1"; 
    } 

UPDATE `tablename` SET ".$optadd." WHERE fieldname = '1'