0

我创建了两个字段text(varchar)number(int)使用 mysql。但我不确定我应该放什么尺寸,varchar()我在这里检查过:http: //dev.mysql.com/doc/refman/5.0/en/char.html,并且知道我是否放了,这意味着:最多可容纳 4 个字符。但是对于,我在这里查了一下:http: //dev.mysql.com/doc/refman/5.0/en/integer-types.html,据说:int()varchar()varchar(4)int(4)Maximum Value:(Signed/Unsigned)(2147483647/4294967295)

问题:

对于int(4),它是如何得到这个值的2147483647/4294967295?如果我放int(8),价值是多少?

4

3 回答 3

2

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

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

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

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

Mysql int(11) 数字超出范围

于 2013-08-19T09:48:33.583 回答
1

int(4)显示宽度为四位的 INT。

int(8)一个显示宽度为八位的 INT。

Minimum Value/Maximum Valueint对于使用 4 个字节进行存储的类型是相同的。

-2147483648to2147483647表示已签名,0to4294967296表示未签名。

于 2013-08-19T09:46:22.727 回答
0

好吧,从浏览器控制台我注意到:

Math.pow(2, 4*8)4294967296和一半是2147483648

这些是可以使用 4 个 8 位字节以二进制形式存储的最大(无符号/有符号)整数的 1。

于 2013-08-19T09:46:32.997 回答