2010-04-21 73 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'