Mysql int(11) 数字超出范围

2022-08-30 13:48:22

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


答案 1

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

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

有关这一点,请参阅MySQL手册的
数据类型 - 数字类型部分。


答案 2

请参阅 MySQL 数值类型文档。这些事情是有据可查的。

有符号的范围是 [-2147483648, 2147483647]。INT

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

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

快乐编码。


推荐