2010-04-21 8 views
11

J'ai une table appelée pollData. Il contiendra toujours seulement 1 rangée. Il a des colonnes option1, option2, option3, option4, option5 de type int. Au début, ces colonnes ont 0 comme leur valeur. Comment ajouter 1 à une colonne, par exemple option2? Je veux dire: est-ce que je récupère d'abord la valeur de cette colonne, effectue une addition et la mémorise, ou y a-t-il une fonction d'incrémentation automatique?Comment ajouter 1 à la valeur d'une colonne d'une ligne existante dans mysql

+0

Êtes-vous travaillé sur ma solution de résultat? C'est en partie réponse. – Karthik

+0

Non. Je n'ai pas essayé. La solution d'Astander semblait parfaite. En outre, je ne pense pas que cela fonctionnera puisque toutes mes options sont déjà définies sur 0 au début. isset (..) retournera toujours vrai. – mithun1538

Répondre

27

Vous pouvez essayer un UPDATE normal, et remplacez simplement l'option de colonne en question.

UPDATE pollData SET option2 = option2 + 1 
+0

c'est pourquoi j'aime MySQL – DavidJB

+1

A l'intérieur d'une transaction, bien sûr. Pas nu par lui-même. –

1

Comme cela, vous pouvez essayer:

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

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