中国大陆境内的手机号码都是11位的,如果是mysql数据库的话,使用int会导致丢失精度,数据库中的手机号和实际的不符;
使用bigint类型的字段可以有效解决这个问题,但是在实际开发中并不使用bigint类型:
- 在许多情况下对手机号码并不使用精确查询“=”,而是使用“LIKE”进行模糊查询
- bigint存储的手机号,读出来需要进行处理转字符串
- 放在业务上将,比如说要进行手机号码格式验证,同样不如String方便
- 虽然bigint类型相比于char和varchar更节省空间,但是对数据库来说压缩空间的时间复杂度是相同级别的,权衡利弊,牺牲小部分的空间换取提高开发效率,明显是值得的