手机号码 用int还是char好?

eechen的粉丝 发布于 2014/11/04 12:40
阅读 3K+
收藏 0
看到很多程序表结构都喜欢用varchar类型来存数字,是不是存的多 也方便才这样???
加载中
0
wei2011
wei2011
varchar,因为完整的手机或电话号码会有前缀,比如086xxxx,010-xxxxx
0
WolvesLeader
WolvesLeader
java程序中使用String类型,int类型不够用,对应的数据库中使用char或者varchar都行,我一般使用的是char
0
warrior_by
warrior_by
你可以用bigint,因为在数据库中,int最多11位,所以手机号的话,会存不下,用bigint就ok了,当然,你用varchar肯定没有问题的
0
xyxo
xyxo
varchar +86 中国前缀
0
k
kchr
选择类型,需要考虑的重点是你存储的值的特性。

int 类型有几个特性:

1.可以做 + / - 运算
2.符合交换律
3.符合结合率

所以,不用 int 或者任何数字类型的原因不是不够用(我们总可以搞出够用的 bigint 类型), 而是电话号码做加法没什么意义
0
little_kid
little_kid
用UINT64 就行了
0
红白机
红白机
可以从占用空间和检索方便性来考虑。
0
OSC首席键客
OSC首席键客
我是存char的哦,什么前缀,全部去掉。手机号码,哪来的区号?
Vincent
Vincent
回复 @淫监会主席 : 你的代码你做主。
OSC首席键客
OSC首席键客
回复 @Vincent : 这我知道,你的APP是面向国际的?如果是那就要,只是国内,要个屁啊!
Vincent
Vincent
国家码
0
啊不死之神
啊不死之神

bigint(11)  效率高,索引长度更短,查询更快。

char(11)如果还有前缀匹配操作,正则,如归属地,如135****,

返回顶部
顶部