MySQL unterstützt eine Funktion namens GREATEST()
. Es gibt den größten Wert aus einer Liste seiner Argumente zurück.
UPDATE person SET dollars = GREATEST(0, dollars-20) WHERE id=1
Dies ist keine Standardfunktion in ANSI SQL, verlassen Sie sich also nicht darauf, dass sie in anderen Marken von SQL-Datenbanken verfügbar ist. Wenn Sie eine herstellerunabhängige Lösung benötigen, verwenden Sie den CASE
von anderen vorgeschlagene Syntax. Aber wenn Sie nur MySQL verwenden müssen, ist diese Funktion prägnanter.