mysql里面有符号整数类型问题,请指点,谢谢
我在mysql中使用trigger写了一段小程序,其中有如下一个片段:
select NEW.sip2dip-sip2dip into samsip2dip from sample where port=NEW.dstport;
if samsip2dip> 0 then set samscore=samscore+samsip2dip*samsip2dip; end if;
其中samsip2dip是INT类型的,但是我发现samsip2dip总是大于0,也就是说,即使NEW.sip2dip-sip2dip 本来应该是0-5=-5 <0,反而给出的是一个大于0的数值,而不是-5.这个应该怎么修改呢?请指点,谢谢
------解决方案--------------------samsip2dip字段是不是定义成了INT UNSIGNED?
对UNSIGNED数据列进行减法计算的时候返回值仍将是一个UNSIGNED整数,取值范围仅限于正数。
------解决方案--------------------贴完整代码