MySQL-MAX () - Funktion auf, vergleichen die numerischen Werte in ein update?

Wenn die Aktualisierung einer Zeile, ich möchte eine built-in check zu tun, einige bounds checking. Die meisten Sprachen haben eine MAX () - Funktion zum zurückgeben der maximum der übergebenen Argumente, aber MySQL scheint die Verwendung von MAX() für etwas anderes. Zum Beispiel:

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

Ich wollen, um zu subtrahieren 20 Dollar von Personen-id 1, aber ich will nicht Dollar, um überhaupt die Vertretung durch einen negativen Wert, also möchte ich eine gebaut-im Vergleich mit 0. Funktioniert das? Oder gibt es einen anderen Weg? Danke!

InformationsquelleAutor DivideByHero | 2009-09-09

Schreibe einen Kommentar