【MySQL】Error 1264: out of range value for column

此问题是插入的整型数字超出了范围。

比如设置表格的数据类型:cust_fax integer(10) not null

当插入以下数字的时候会抛出标题所说的错误:
insert into database values ('3172978990');


其实数字 3172978990 已经超过了 2147483647所以会报错。

解决此错误,可以将数据类型更改为VARCHAR,以字符串的形式进行存储。当然类似电话、传真等等均应该以字符串的形式进行存储。

MySQL 整型对应的范围如下:

Type Storage Minimum Value
(Bytes) (Signed/Unsigned) (Signed/Unsigned)
TINYINT 1 -128
0 255
SMALLINT 2 -32768
0 65535
MEDIUMINT 3 -8388608
0 16777215
INT 4 -2147483648
0 4294967295
BIGINT 8 -9223372036854775808
0 18446744073709551615

参考

上一篇:《iOS 7 应用开发实战详解》


下一篇:PTA——黑洞数