MySQL整型数据溢出的解决方法
今天接到一个朋友电话说是觉的数据库被别人更改了,出现数据不对的问题。经过很久的排查是数据类型溢出了(发生问题的版本是MySQL5.1)。后来通过给朋友那边把MySQL5.1升级到MySQL5.5去解决这个问题。这也让我有兴趣去了解一下MySQL不同版本数据类型溢出的处理机制。
先看一下MySQL支持的整型数及大小,存储空间:
pe
Storage
MinimumValue
MaximumValue
存储大小
(Bytes)
(Signed/Unsigned)
(Signed/Unsigned)
byte
TINYINT
1
-128
127
1byte
0
255
SMALLINT
2
-32768
32767
2bytes
0
65535
MEDIUMINT
3
-8388608
8388607
3bytes
0
16777215
INT
4
-2147483648
2147483647
4bytes
0
4294967295
BIGINT
8
-9223372036854775808
9223372036854775807
8bytes
0
18446744073709551615
另外请记着mysql的数据处理会转成bigint处理,所以这里就用bigint几个测试:
SELECTCAST(0ASUNSIGNED)-1;
SELECT9223372036854775807+1;
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短