Lashiec Posted August 12, 2008 Share Posted August 12, 2008 I've got a field (int) and I need to add/subtract numbers from it for a shopping cart quantity field. The thing is, I can update the column with add/subtracted values, but if the value is 4 and I subtract 5 from it, it rolls over to 16475715 (it's unsigned). Is there a way to produce an error so that if it goes below 0, or above the maximum number, it won't do the update and will send an error out? Or... Should I just read the value out (4), do my math with PHP ($val = $val - 5), and then check if $val is within a reasonable range (0 to 16475715). I guess this way $val would become -1 and then error out since it's below 0 and all... Any ideas? Link to comment https://forums.phpfreaks.com/topic/119364-adding-subtracting-values-preventing-the-field-to-roll-over/ Share on other sites More sharing options...
fenway Posted August 12, 2008 Share Posted August 12, 2008 You can use MIN(0, <your-expression>) and MAX(16475715,<your-expression) Link to comment https://forums.phpfreaks.com/topic/119364-adding-subtracting-values-preventing-the-field-to-roll-over/#findComment-614948 Share on other sites More sharing options...
Lashiec Posted August 12, 2008 Author Share Posted August 12, 2008 I don't think I'm getting quite what you're saying... This gives me an error: UPDATE `database`.`name` SET `qty`=MIN(0, qty - 5) WHERE (`part_number`='158654') Link to comment https://forums.phpfreaks.com/topic/119364-adding-subtracting-values-preventing-the-field-to-roll-over/#findComment-615003 Share on other sites More sharing options...
fenway Posted August 13, 2008 Share Posted August 13, 2008 What error? Link to comment https://forums.phpfreaks.com/topic/119364-adding-subtracting-values-preventing-the-field-to-roll-over/#findComment-616052 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.