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? Quote Link to comment 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) Quote Link to comment 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') Quote Link to comment Share on other sites More sharing options...
fenway Posted August 13, 2008 Share Posted August 13, 2008 What error? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.