MySQL 数据类型 INT(11) 而 UNSIGNED INT(10)?
问题:MySQL 数据类型 INT(11) 而 UNSIGNED INT(10)? 在 MySQL 中,如果我们创建一个字段 dataType 为INT并且没有指定任何长度/值,那么它会自动变为int(11),如果我们设置属性 UNSIGNED 或 UNSIGNED ZEROFILL 则它会变为int(10) 这个 length(1) 去哪儿了? 解答 int 值可以是 -2147483648 这
·
问题:MySQL 数据类型 INT(11) 而 UNSIGNED INT(10)?
在 MySQL 中,如果我们创建一个字段 dataType 为INT
并且没有指定任何长度/值,那么它会自动变为int(11)
,如果我们设置属性 UNSIGNED 或 UNSIGNED ZEROFILL 则它会变为int(10)
这个 length(1) 去哪儿了?
解答
int 值可以是 -2147483648 这些是 11 位,所以默认的 display 大小是 11
unsigned int 不允许负数,因此默认情况下它只需要 display 大小 10
正如下面的文档所示,存储 SIGNED INT 和 UNSIGNED INT 所需的位数是相同的,可存储数字的范围只是移动了:
无符号类型可用于在列中只允许非负数,或者当您需要更大的列上数字范围时。例如,如果 INT 列是 UNSIGNED,则列范围的大小相同,但其端点从 -2147483648 和 2147483647 移动到 0 和 4294967295。
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
更多推荐
所有评论(0)