Underflow

Status
Niet open voor verdere reacties.

Frats

Terugkerende gebruiker
Lid geworden
22 nov 2008
Berichten
4.492
Weet iemand toevallig hoe je underflow uitzet?
In Windows gebeurd het namelijk dat als ik een unsigned Int heb en die op 0 zet en hem met 1 verlaag, er de maximum waarde uitkomt, maar op de productie servers (Redhat) blijft de waarde dan 0 (dat is ook wat ik zou verwachten)

Ik kan echter de instelling niet vinden en Google is ook niet zo heel behulpzaam op dit moment.

Dus deze querie:
[sql]
UPDATE gable SET value = value - 1 WHERE value = 0
[/sql]

Zou bij mij overal 4294967295 in het value veld gooien, en op de andere servers 0, en ik wil dat er bij mij ook 0 uit komt.

Anyone? :(
 
Het is juist logisch dat die unsigned int omklapt naar de maximale waarde. Zonder in te gaan op de details is dat juist wat je zou moeten verwachten.

Als je nu alleen de value van die records verlaagt met 1 die groter of ongelijk zijn aan 0?
[sql]
UPDATE gable SET value = value - 1 WHERE value > 0
[/sql]Enjoy!
 
Het is misschien logisch voor jou, maar niet voor mij :P

Wat nog minder logisch is, is dat het op alle andere omgevingen wel werkt zoals ik aangaf, dus dat ie niet omklapt. Ik heb niet zo'n zin om het hele project door te spitten naar al die dingen als van het hele team maar 1 iemand er last van heeft, en het op de live-omgeving gewoon werkt :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan