int(1) 和 int(10) 有什么区别? 先说结论: 正常来说,没有区别。后面带的数字,并不是长度的概念。Int 类型就是占用4个字节(32位), Int(1), int(10) 都一样是4个字节/32位,数据范围也还是 -2^31 ~ 2^31-1。 所以,int 后面带个数字,干嘛使呢? 如果只是用来数据存储,别带数字了,混淆视听。 如...
可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)...int(10)没什么区别。一般int后面的数字,配合zerofill一起使用才有效。先看个例子:CREATE TABLE `student` ( `id` int(3) unsigned zerofill NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREM...
主要区别在于ZEROFILL这个属性,填充零。 int(1) 填充零:插入id为1的,显示1,因为他设置的长度为1,不需要0来填充。 int(2) 填充零:插入id为1的,显示01,因为他设置的长度为2,0来填充。 显然int(10) 填充零就是0000000001。 2.MySQL如何处理 首先我们先看下一MySQL中的一些整数类型 MySQL 类型关键字后面的括...
知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于 2011 年 1 月正式上线,以「让人们更好的分享知识、经验和见解,找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制以及结构化和易获得的优质内容,聚集了中文互联网科技、
误区1:INT(1)只能存储1位数字。 纠正:INT(1)与INT(10)在存储空间和数值范围上没有区别,N仅用于显示宽度。 误区2:INT(N)中的N影响存储空间。 纠正:INT类型始终占用4个字节,N不影响存储空间。 误区3:ZEROFILL会影响数据的存储。 纠正:ZEROFILL仅影响数据的显示方式,不影响存储内容。
id字段为无符号的int(1),我来插入一个最大值看看。 mysql> INSERT INTO `user` (`id`) VALUES (4294967295); Query OK, 1 row affected (0.00 sec) 可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)…int(10)没什么区别。
于是,我开始思考`int(1)`与`int(10)`之间到底有何区别。在MySQL中,整数类型使用4个字节存储。对于无符号整数,最大值为`2^32-1`,即4294967295,大约40亿。许多人认为`int(1)`的使用意味着字段上限的限制,其实并非如此。我尝试插入`int(1)`类型的最大值,并成功执行,证明了`int(1)`、`...
int(1)、int(10)和int(11)本身是没有任何区别的,只有使用了zerofill之后,才会有显示宽度上的区别。 声明整型数据列时,我们可以为它指定显示宽度M(1~255),理论最大显示宽度为255。 如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性。
id字段为无符号的int(1),我来插入一个最大值看看。 mysql> INSERT INTO `user` (`id`) VALUES (4294967295); Query OK, 1 row affected (0.00 sec) 可以看到成功了,说明int后面的数字,不影响int本身支持的大小,int(1)、int(2)…int(10)没什么区别。