【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

参考

  • http://stackoverflow.com/questions/14284494/mysql-error-1264-out-of-range-value-for-column
  • http://dev.mysql.com/doc/refman/5.7/en/numeric-types.html#integer-types

转载于:https://www.cnblogs.com/nju2014/p/5528276.html

你可能感兴趣的:(【MySQL】Error 1264: out of range value for column)