【发布时间】:2013-02-06 11:01:29
【问题描述】:
在 Mysql 中:
INT(1) = 2147483647 并存储 4 个字节,
那么INT(2) = ? 和 Store ? 字节呢...
我在 INT(1) 中使用超过 2147483647 它不起作用! 我也在 INT(2) 中使用了相同的值它不起作用??为什么?
解决方案?
【问题讨论】:
-
MySQL INT meaning 的可能重复项
在 Mysql 中:
INT(1) = 2147483647 并存储 4 个字节,
那么INT(2) = ? 和 Store ? 字节呢...
我在 INT(1) 中使用超过 2147483647 它不起作用! 我也在 INT(2) 中使用了相同的值它不起作用??为什么?
解决方案?
【问题讨论】:
可选的显示宽度说明符仅在使用 zerofill 时适用,与整数数据类型的内部大小(以字节为单位)无关。它总是 4 个字节。
应用程序可以使用这个可选的显示宽度来显示宽度小于为列指定的宽度的整数值,方法是用空格向左填充它们。 (也就是说,这个宽度存在于结果集返回的元数据中。是否使用它取决于应用程序。)
这是[链接] (http://dev.mysql.com/doc/refman/5.5/en/numeric-type-attributes.html)
更多示例
如果存在表名则删除表;
创建表表名 ( columnname int(4) unsigned zerofill not null default 0 );
插入表名(列名)值(123),(456),(1234);
从表名中选择 *;
输出
0123
0456
1234
【讨论】:
括号内的数字表示字段返回的位数。您可以在 INT(1) 中插入任何数字,但只能得到 0 到 9 之间的数字。
【讨论】:
MySQL 中的 INT 始终是 4 字节数字。
INT类型的语法为INT(M),其中M表示最大显示宽度;但并非所有 MySQL 客户端都支持此值。
【讨论】:
您应该使用 BIGINT 来获取 8 个字节(请参阅 Integer Types)。括号中的数字仅表示最大显示宽度(见Numeric Type Attributes)
【讨论】: