This usually happens when you are using something like an INT and try to insert a larger value than the maximum which is larger than "2147483647"
On a practical term I have seen this and been guilty of this error when using scripts like PHP and generating large random numbers:
$hash = mt_rand(5,9999999999999);
Obviously that many 9's are more digits than the maximum of an INT resulting in that error. Change your code accordingly to avoid the problem:
$hash = mt_rand(5,2147483647);
More info on MySQL INT sizes here.