Fonction MySQL MAX () pour comparer les valeurs numériques dans une mise à jour?

Lors de la mise à jour d'une ligne, je veux avoir un construit-dans la case de faire quelques vérifications de limites. La plupart des langues ont un MAX() pour renvoyer le maximum des arguments passés, mais MySQL semble utiliser MAX() pour quelque chose d'autre. Par exemple:

UPDATE person SET dollars = MAX(0, dollars-20) WHERE id=1

Je veux soustraire 20 dollars de personne id 1, mais je ne veux pas de dollars à jamais être représenté par une valeur négative, alors je veux un construit en comparaison avec 0. Ce travail? Ou est-il un autre moyen? Merci!

source d'informationauteur DivideByHero