Вычитание из числовых данных

beejuice

Новичок
Вычитание из числовых данных

Есть поле mediumint(5) в нем содержатся данные. И есть такой запрос

UPDATE kpro_articles SET amount_store=amount_store-$n WHERE number=$x

Так вот, иногда (сам еще не понял от чего это зависит, возможно от версии MySql), если число лежащее в этой ячейке меньше $n получается число 167772** (вобщем максимально возможное для этого типа данных минус то что должно остаться со знаком минус посли вычетания. А иногда получается 0 ... вот я и понять не могу, в чем тут дело. Есть у кого-нибудь мысли на этот счет?
 

Фанат

oncle terrible
Команда форума
есть.
понять, от чего зависит.
в частности, пример $n и вызываемый результат
 

Fally

Новичок
Скорее всего от версии.
Поле не имеет атрибута unsigned??? Если да, то скорее всего проблема в том, что amount_store > $n и как следствие отрицательного числа получиться не может....
 
Сверху