江门免费网站建站模板,怎么做淘宝联盟网站推广,哪家做网站的公司好,建设网银使用sql中 int(11)存储手机号错误#xff01;#xff01;#xff01;#xff01; 这些类型#xff0c;是定长的#xff0c;其容量是不会随着后面的数字而变化的#xff0c;其值的范围是确定的。
比如int(11)和int(8)#xff0c;都是一样的占4字节。tinyint(1)和tinyin…使用sql中 int(11)存储手机号错误 这些类型是定长的其容量是不会随着后面的数字而变化的其值的范围是确定的。
比如int(11)和int(8)都是一样的占4字节。tinyint(1)和tinyint(10)也都占用一个字节。
那么后面的11和8有啥作用呢?
数据类型m中的m不是表示的数据长度而是表示数据在显示时显示的最小长度。tinyint(1) 这里的1表示的是 最短显示一个字符。tinyint(2) 这里的2表示的是 最短显示两个字符。
手机号的本质是字符串而不是数字只是恰巧长得像数字而已。 char(32)char的长度可选范围在0-255字符之间。也就是char最大能存储255个字符.
占用空间固定 32 字符如果数据长度不够 32 将在右边用空格补齐以达到指定的长度
空格处理检索时会去掉尾部空格数据本身有空白符也会被去掉
是否记录字段长度否
适用场景存储的数据长度基本一致不需要空格eg 手机号、UUID、密码加密后的密文varchar(32)在mysql5.0.3之前varchar的长度范围为0-255字符mysql5.0.3之后varchar的长度范围为0-65535个字符.
占用空间跟随实际存储内容长度但不超过 32
空格处理不会对空格处理
是否记录字段长度是。额外拿出空间记录字段数据长度字符数
适用场景数据长度不一定长度范围变化较大的场景
参考自mysql存储手机号为什么不用bigint?_韩旭051的博客-CSDN博客
mysql中的varchar(10)和 int(11)是什么意思_高高的博客-CSDN博客