Sono un po 'nuovo per Postgres. Voglio prendere un valore (che è un numero intero) in un campo in una tabella postgres e incrementarlo di uno. Per esempio se la tabella 'totali' avesse 2 colonne, 'nome' e 'totale', e Bill avesse un totale di 203, quale sarebbe l'istruzione SQL che userei per spostare il totale di Bill a 204?Incremento di un valore in Postgres
57
A
risposta
116
UPDATE totals
SET total = total + 1
WHERE name = 'bill';
Se si vuole fare in modo il valore corrente è infatti 203 (e non accidentalmente aumentare di nuovo) si può anche aggiungere un'altra condizione:
UPDATE totals
SET total = total + 1
WHERE name = 'bill'
AND total = 203;
Problemi correlati
- 1. Valore di incremento in F #
- 2. Valore di incremento nel file di ramoscello
- 3. campo di ordinamento mysql valore di incremento
- 4. Android: Valore incremento SeekBar - Come
- 5. Ottieni il valore del contatore atomico (incremento) con Rails and Postgres
- 6. Valore di incremento nel database utilizzando Propel
- 7. Imposta condizionatamente una colonna sul valore predefinito in Postgres
- 8. Incremento di un valore intero oltre il limite intero - C#
- 9. Perché l'operatore di pre-incremento fornisce il valore in C?
- 10. Documento Valore incremento entità (contatore download)
- 11. Incremento variabile in un foldLeft
- 12. Incremento atomico di un contatore in django
- 13. Incremento un valore da AAA a Zzz con rotazione ciclica
- 14. Esiste un incremento automatico in sqlite?
- 15. Valore di incremento di Mongodb all'interno dell'array nidificato
- 16. Valore di incremento nella query di aggiornamento mysql
- 17. incremento, decremento in percentuale
- 18. Incremento di AtomicInteger
- 19. Modifica del conteggio corrente di un valore di incremento automatico in MySQL?
- 20. Indicatori di incremento
- 21. Incremento un intero
- 22. Come si inserisce un valore enum Postgres utilizzando Clojure JDBC?
- 23. IntegrityErrore valore chiave duplicato viola un vincolo univoco - django/postgres
- 24. Modificare il valore di incremento dell'ingresso del numero HTML - Decimali
- 25. di NHibernate Incremento Generator - Impossibile recuperare il valore iniziale
- 26. incremento automatico multiplo in mysql
- 27. funzione di incremento in plsql
- 28. colonne di incremento in laravel
- 29. Memorizzare un file in postgres usando node-postgres
- 30. Postgres int4range limite superiore valore imprevisto
stavo cercando di incrementare ** non intero ** datatype e get: 'ERRORE: l'operatore non esiste: carattere variabile + numero intero LINEA 2: SET totale = totale + 1' Risolto tramite il cast del valore come intero come questo' SET totale = totale :: int + 1 ' –
@ Stew-au: Do *** not *** memorizza i numeri nelle colonne varchar. Ciò ti procurerà problemi a lungo termine. Usa un numero intero (o bigint o qualunque cosa sia adatta) ma non usare un tipo di carattere. –
Questa affermazione è atomica o avrei bisogno di bloccare pessimisticamente la tabella per le scritture prima? (La mia paura è che tra l'assegnazione del totale e il recupero totale per il totale + 1 sia stata fatta qualche scrittura al tavolo.) – miho