在MySQL中,如果我们创建一个字段数据类型为INT
且未指定任何长度/值,那么它将自动变为int(11)
,并且如果我们设置属性 UNSIGNED 或 UNSIGNED ZEROFILL ,则它变成int(10)
这个 length(1)去哪了?
最佳答案
int值可以是-2147483648,这是11位数字,因此默认的显示大小是11
unsigned int不允许负数,因此默认情况下只需要显示大小10
如以下文档所示,存储SIGNED INT和UNSIGNED INT所需的位数是相同的,可存储数字的范围只是移位:
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
关于mysql - MySQL数据类型INT(11)而未签名INT(10)吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5256560/