小编典典

当列为INT(10)时为什么不能插入10位数字

sql

我有这个专栏 INT(10) ZEROFILL NOT NULL DEFAULT '0000000000',

但是当我插入类似的东西时9100000010,我得到了4294967295

应该在那里允许有10位数字,对不对?

如何正确执行此操作?


阅读 292

收藏
2021-04-07

共1个答案

小编典典

Int具有最大值范围:

INT 4   -2147483648 2147483647
        0   4294967295 (unsigned )

因此,由于溢出,您将获得最大值。使用bigint代替,它有8个字节,您会没事的。

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html#integer-
types

BIGINT  8   -9223372036854775808    9223372036854775807
          0                 18446744073709551615
2021-04-07