MySQL字段的显示宽度

MySQL建表时常常要指定一个长度,这个长度并不是该数据类型占用的存储空间,而是所谓的显示宽度。对于如下的一张表,

    CREATE TABLE `test` (
        `id` INT(2) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
        `name` CHAR(2) NOT NULL,
        PRIMARY KEY (`id`)
    );

对于varchar(2)这样的数据类型,不能插入’123’或者’你好吗’这样的字符串,但是可以插入’12’,’你好’这样的字符串,我们知道在utf8字符集下两个汉字占用6个字节的大小。
对于int(2)这样的数据 类型,是可以插入数字123的,但是最大不能超过int存储范围的最大值,而当该字段打开unsinged zerofill属性时,不足的位数是用0补齐的,也就是说数字9显示为09。

参考:
http://www.netingcn.com/mysql-int-display-width.html

https://dev.mysql.com/doc/refman/5.7/en/numeric-type-attributes.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值