MySQL update aber nur wenn der Wert kleiner ist

mydoys.de

Well-known member
ID: 84968
L
20 April 2006
2.758
125
Hi Leute und danke fürs reinsehen..
Ich stehe gerade vor einem Kleinem Problem und zwar möchte ich in meiner Datenbank mit hilfe eines CronJobs verändern..
Mit Hilfe eines MYSQL Updates.. aber der Wert der Datenbank soll nur geänert werden wenn der Wert der in der Zeile Steht kleiner ist!

Mein Versuch:
PHP:
.....
mysql_query("UPDATE `xxxxx_mitglieder` SET guthaben = '5' where guthaben='>5'");
.....

was ist Falsch?
 
PHP:
.....
mysql_query("UPDATE `xxxxx_mitglieder` SET guthaben = '5' where guthaben <='5'");
.....

würd es mal so probieren ... der vergleich muss nicht in ' ' stehen. Bin mir nur gerade nicht sicher ob <= oder =<

Ich geh richtig davon aus, dass du das guthaben hoch setzen willst oder? du hast in deiner Anweisung geschrieben, setze dass guthaben auf 5, wenn es größer oder gleich 5 ist.
 
PHP:
.....
mysql_query("UPDATE `xxxxx_mitglieder` SET guthaben = '5' where guthaben <='5'");
.....

würd es mal so probieren ... der vergleich muss nicht in ' ' stehen. Bin mir nur gerade nicht sicher ob <= oder =<

Ich geh richtig davon aus, dass du das guthaben hoch setzen willst oder? du hast in deiner Anweisung geschrieben, setze dass guthaben auf 5, wenn es größer oder gleich 5 ist.

So geht es...
Ja ist Richtig ....

Danke Danke!
 
...SET guthaben = '5' where guthaben <='5' ...

besser:

PHP:
SET guthaben = 5 where guthaben < 5

das Gleichheitszeichen in der WHERE-Bedingung kannst Du Dir sparen, warum den Wert auf 5 setzen, wenn er bereits 5 ist.

Ausserdem bei Strings aufpassen. Ich weiss jetzt nicht, wie mySQL das handhabt, aber bei z/OS ist beispielsweise
'10' < '2' !
 
Hatte nur das < korrigiert, die ' ' hab ich mal stehen lassen. Hab den Text auch nur ganz schnell überflogen gehabt :D