当我尝试插入一个像622108120237这样的数字时,我有一个列被设置为int(20),它显示它超出了范围。为什么?
发布于 2011-08-03 12:28:17
带有MySQL的int,存储在4个字节中,因此只能包含介于-2147483648和2147483647之间的值。
622108120237比2147483647更强大;因此它不适合int --看起来您将不得不使用bigint.
请参阅部分
关于这个的MySQL手册。
发布于 2011-08-03 12:28:40
See the MySQL Numeric Type Documentation。这些事情都有很好的记录。
带符号的INT的范围是-2147483648,2147483647。
注意,在INT(x)的情况下,x是“显示宽度”,与范围或空间要求无关:
MySQL支持一个扩展,用于在类型的base关键字后面的圆括号中选择性地指定整数数据类型的显示宽度。例如,INT(4)指定一个显示宽度为四位数的INT ...显示宽度不限制或扩展可以存储在列中的值的范围。
祝你编码愉快。
发布于 2011-08-03 12:29:43
在超过限制的两种情况下,可存储在有符号整数中的最大值为2147483647,无符号整型为4294967295
https://stackoverflow.com/questions/6921613
复制相似问题