unsigned gedraagt zich raar
Ik heb een probleem met volgende code:
$verkocht = 6;
mysql_query("UPDATE .... SET aantal = aantal - ".$verkocht." WHERE ...");
De "aantal" column is een UNSIGNED SMALLINT.
Als aantal gelijk is aan 10 en ik doe dit - 6 dan komt "aantal" te staan op 4, zoals het hoort.
Als aantal gelijk is aan 10 en verkocht is gelijk aan 11, dan wil ik (en verwachte ik) dat aantal gelijk zou worden aan 0. Eigenlijk is het dan -1 maar via de UNSIGNED wil ik dus "forceren" dat dit gewoon 0 wordt.
Dit lukt echter niet, want "aantal" verandert vreemd genoeg in het getal 65535.
Weet iemand hoe dit kan?
Hoe kan ik ervoor zorgen dat ik bij iets als 10 - 11 een 0 krijg in m'n database?
*Bovenstaand voorbeeld is fictief, het is enkel bedoeld om het probleem aan te duiden.
$verkocht = 6;
mysql_query("UPDATE .... SET aantal = aantal - ".$verkocht." WHERE ...");
De "aantal" column is een UNSIGNED SMALLINT.
Als aantal gelijk is aan 10 en ik doe dit - 6 dan komt "aantal" te staan op 4, zoals het hoort.
Als aantal gelijk is aan 10 en verkocht is gelijk aan 11, dan wil ik (en verwachte ik) dat aantal gelijk zou worden aan 0. Eigenlijk is het dan -1 maar via de UNSIGNED wil ik dus "forceren" dat dit gewoon 0 wordt.
Dit lukt echter niet, want "aantal" verandert vreemd genoeg in het getal 65535.
Weet iemand hoe dit kan?
Hoe kan ik ervoor zorgen dat ik bij iets als 10 - 11 een 0 krijg in m'n database?
*Bovenstaand voorbeeld is fictief, het is enkel bedoeld om het probleem aan te duiden.
Gesponsorde koppelingen:
je kunt gewoon zoiets doen:
$newNumber = (10 - 11 >= 0) ? 10 - 11 : 0;
en dan $newNumber in de db zetten ;)
$newNumber = (10 - 11 >= 0) ? 10 - 11 : 0;
en dan $newNumber in de db zetten ;)
"unsigned gedraagt zich raar"
Gossie, je kiest voor MySQL en dan nóg durf je te beweren dat deze zich raar gedraagt? Standaard is MySQL van A tot Z volkomen onbetrouwbaar! Zelfs wanneer je de server goed hebt geconfigureerd, blijven er zaken inzitten waar je niet op kunt vertrouwen, MySQL is geen veilige DBMS.
Leesvoer
Sterkte!
Gossie, je kiest voor MySQL en dan nóg durf je te beweren dat deze zich raar gedraagt? Standaard is MySQL van A tot Z volkomen onbetrouwbaar! Zelfs wanneer je de server goed hebt geconfigureerd, blijven er zaken inzitten waar je niet op kunt vertrouwen, MySQL is geen veilige DBMS.
Leesvoer
Sterkte!



