mysql tinyint的使用 默认填零的结果

mysql 数据库中要加入字段,并设置默认值为零,数据库设计原则所占的储存空间越少越好,够用就行,基于节省存储空间的考虑所以用了tinyint类型,

int类型占4个字节,tinyint占1个字节,于是设计了tinyint的字段类型,在长度的填写上写了2,然后设置了填充零的勾选,

 

于是在dll里面channel` tinyint(2) unsigned zerofill DEFAULT '00' 

问题来了,2指的是存储宽度,不表示存储长度。如果列制定了zerofill 就会用0填充显示,例如tinyint(2)指定后2就会显示为02,自动左边补零

tinyint有固定范围值,带符号的范围是-128到127。无符号的范围是0到255。

 

琢磨好上面两句话,发现设置tinyint(2)对我来说是画蛇添足了,tinyint已经满足我的使用。刚开始设置的时候把存储宽度和存储长度概念给弄混淆了。

而且在tinyint的使用中,MYSQL中没有布尔类型,但是如果你定义了布尔类型,它会自动给你转换成Tinyint。

保存BOOLEAN值时用1代表TRUE,0代表FALSE,boolean在MySQL里的类型为tinyint(1), 

MySQL里有四个常量:true,false,TRUE,FALSE,它们分别代表1,0,1,0。

也就是说如果需要建立一张大量存储0和1的字段的表,可以充分考虑tinyint了。

科普记录一下:

类型 大小 范围(有符号) 范围(无符号) 用途 

TINYINT 1字节 (-128,127) (0,255) 小整数值 
SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值 
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值 
INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值 
BIGINT 8 字节 (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

 

转载于:https://www.cnblogs.com/yskcoder/articles/4685114.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值