0
点赞
收藏
分享

微信扫一扫

MySQL中ZEROFILL和UNSIGNED的区别


一、解释

  • 1.UNSIGNED = unsigned = 无符号

有符号包含负数,无符号不包含负数。对于正整数范围而言,无符号能存储的数据是有符号的两倍。

比如TINYINT类型,1字节即8位二进制即2的8次方,有符号能保存的数字范围为-128~127.无符号可以保存的范围为0~255.

由此可知:unsigned的作用就是不能插入负数,如果插入负数默认为零。

数据库数值类型,默认是有符号的。

  • 2.ZEROFILL = zerofill = 填充0

根据你所设置的类型长度,自动填充0

比如你将类型长度设置4,当存入数字1时,数据库里面的值是这样的:0001

二、实例

数据库字段 tinyint类型

  • 1.unsigned

存入1:1

存入-1:0

存入6666:255

  • 2.zerofill

存入1:1,显示为0001

存入-1:0

存入6666:255

  • 3.signed(数据库默认)

存入1:1

存入-1:-1

存入6666:127


举报
0 条评论