web-dev-qa-db-fra.com

Incrémenter une valeur dans Postgres

Je suis un peu nouveau chez Postgres. Je veux prendre une valeur (qui est un entier) dans un champ d'une table postgres et l'incrémenter de un. Par exemple, si le tableau "totaux" comportait 2 colonnes, "nom" et "total", et que Bill en comptait 203, quelle serait l'instruction SQL que j'utiliserais pour déplacer le total de Bill à 204?

84
greatwitenorth
UPDATE totals 
   SET total = total + 1
WHERE name = 'bill';

Si vous voulez vous assurer que la valeur actuelle est bien 203 (et ne pas l'augmenter par accident), vous pouvez également ajouter une autre condition:

UPDATE totals 
   SET total = total + 1
WHERE name = 'bill'
  AND total = 203;
159