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

Nor*_*man 0 mysql sql

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

但当我插入类似的东西时9100000010,我明白了4294967295

它应该允许10位数,对吗?

怎么做对了?

Hab*_*bib 5

MySQL中INT字段可能2147483647的最大值9100000010是,您的值大于此值.这就是为什么它溢出到4294967295Max for Unsigned Integer.

11.1.4.1.整数类型(精确值)

INT    4    -2147483648 2147483647
Run Code Online (Sandbox Code Playgroud)

使用BIGINT,如果你想存储更多数量的,从范围:

BIGINT  8   -9223372036854775808    9223372036854775807
Run Code Online (Sandbox Code Playgroud)