Mysql int(11)数字超出范围

max*_*xum 33 php mysql

我有一个列设置为int(20)当我尝试插入一个数字时622108120237,它表示它超出了范围.为什么?

Pas*_*TIN 49

int使用MySQL的An 存储在4个字节上,因此,只能包含-2147483648和之间的值2147483647.

622108120237大于2147483647; 所以它不适合int- 看起来你将不得不使用bigint.

请参阅MySQL手册的数据类型 - 数字类型部分
.

  • @Thyagi这里11只是int coloumn的显示宽度 (5认同)
  • 那么 int(11) 中的 11 是什么意思? (2认同)

小智 40

请参阅MySQL数字类型文档.这些东西都有很好的记录.

签名的范围INT是[-2147483648,2147483647].

请注意,在INT(x)x 的情况下,x是"显示宽度",与范围或空间要求无关:

MySQL支持扩展,可以选择在类型的base关键字后面的括号中指定整数数据类型的显示宽度.例如,INT(4)指定显示宽度为四位的INT ... 显示宽度不会约束[或扩展]可以存储在列中的值的范围.

快乐的编码.