HardBirch

【解释】关于navicat设置MySQL数据库的Varchar字段,数字类型int类型的长度的问题

时间:18-06-07 栏目:系统技术篇 作者:魔豆先生 评论:0 点击: 664 次

1.varchar类型长度是指这个字段的字符(字母或汉字)个数。

2.数字类型长度就不是这个意思,更为复杂。

int类型长度的设定值范围1~255(设置0时自动转为11,不设置时自动转为默认的11)(显示宽度),在此范围内任意长度值的字段值范围都是-2147483648~2147483647(即-2³¹-1~2³¹-1)

tinyint类型:长度设定值范围1~255(设置0时自动转为4,不设置时自动转为默认的4)(显示宽度),在此范围内任意长度值的字段值范围都是-128~127(-2⁷-1~2⁷-1)

 

总结:显示宽度与存储大小或类型包含的值的范围无关。可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。当 mysql 为某些复杂的联结(join)生成临时表时,你可能会遇到问题,因为在这种情况下,mysql 信任地认为所有的值均适合原始的列宽度

这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些超过该列指定宽度的值的可被显示的数字位 数。

 

要查看出不同效果记得在创建类型的时候加 zerofill这个值,表示用0填充,否则看不出效果的。

我们通常在创建数据库的时候都不会加入这个选项,所以可以说他们之间是没有区别的。

 

参考:

http://www.cnblogs.com/echo-something/archive/2012/08/26/mysql_int.html

http://www.cnblogs.com/huligong1234/archive/2012/06/11/2545682.html

http://blog.csdn.net/lyd518/article/details/20703095

http://blog.knowsky.com/253505.htm

【解释】关于navicat设置MySQL数据库的Varchar字段,数字类型int类型的长度的问题:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐