2010-04-21 10 views
11

Ho una tabella chiamata pollData. Conterrà sempre solo 1 riga. Ha colonne opzione1, opzione2, opzione3, opzione4, opzione5 ciascuna di tipo int. All'inizio, queste colonne hanno come valore 0. Come aggiungo 1 a qualsiasi colonna, ad esempio opzione2? Voglio dire, recupero prima il valore di quella colonna, eseguo l'addizione e lo memorizzo, oppure esiste una funzione di incremento automatico?Come aggiungere 1 al valore di una colonna di una riga esistente in mysql

+0

Stai lavorato su mia soluzione risultato? È nella parte di risposta. – Karthik

+0

No. Non l'ho provato. la soluzione di astander sembrava perfetta. Inoltre, non penso che funzionerà poiché tutte le mie opzioni sono già impostate su 0 all'inizio. isset (..) restituirà sempre true. – mithun1538

risposta

27

Si potrebbe provare un normale UPDATE e sostituire semplicemente l'opzione di colonna in questione.

UPDATE pollData SET option2 = option2 + 1 
+0

questo è il motivo per cui amo MySQL – DavidJB

+1

All'interno di una transazione, certo. Non nudo da solo. –

1

come non si può provare:

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

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