php发展

注册

 

发新话题 回复该主题

PHP面试题mysql中int长度限制具 [复制链接]

1#

这道题是mysql数据库库设计相关的。

在php程序员中有很多人都知道设计表的时候,int默认是11长度,但是却没有注意过这个长度并不影响能存储的数据大小。

无论你设int(11)还是int(3)都可以支持32位的数字表示

不然还要那些tinyint,smallint字段类型做什么呢,通过长度设置就可以了。所以要记住:int()括号中的数字并不是设置数据大小限制的。那么有什么用呢?答案就是显示宽度。比如你数据字段设计的是int(11),那么有个字段值是,那么这个值在显示宽度上是3位,而设计的是显示的是11位,所以这时候,你如果在字段设计的时候,选择zerofill就可以发现,变成了00000000,也就是剩下的8位用0补足了。其他tinyint也是一样,所以设计数据表的时候,要根据字段值估计合适的数据字段类型,而不是用长度设置限制

分享 转发
TOP
发新话题 回复该主题