mysql错误[Error] 1690 – BIGINT UNSIGNED value is out of range in

今天要计算表中的两个字段乘积的和,即:sum(f1*f2)就报出了这样的错误,先是查存储过程发现没有错,然后测试只求f1*f2没有问题,但只要一sum就出现这个问题.后来一看报错的意思是结果越界了,就想到了字段的类型定义,一看f1是mediumint(8) UNSIGNED,f2是int,这样首先怀疑是mediumint的问题,先改成int型问题依旧,后来就把UNSIGNED属性去掉,神奇的事情发生了,竟然可以了.具体什么原因没有去深究,大家可以想一下,想到了别忘了告诉我啊.

以上是解决过程,总结一下解决的办法:

[Error] 1690 – BIGINT UNSIGNED value is out of range in

解决办法:去掉UNSIGNED属性!

你的评论是对我最大的鼓励