首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql - mobileno的数据类型。小数vs varchar

mysql - mobileno的数据类型。小数vs varchar
EN

Stack Overflow用户
提问于 2014-11-06 20:54:52
回答 1查看 184关注 0票数 0

我已经在mysql表中存储了带有国家代码的电话/手机号码。为此,我对两个字段都使用了decimal数据类型(例如,用于拨号decimal(5,0),mobileno (20,0))。我的手机号和拨号码或国家代码必须是数字。现在,我将用varchar(5)表示拨号代码,用varchar(20)表示mobileno。

它的性能还可以吗?谁能告诉我mobileno (任何国家)的最大长度应该是多少?如果有任何其他数据类型,如flote或integer,更适合上述情况?如果是,那是为什么?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-11-06 20:59:31

这个问题有征求意见的风险。然而,我认为它有一个“正确”或至少“更好”的答案。

在存储数字时,您应该使用数字类型。数字具有有序性和对其进行算术运算的特性。许多东西被存储为不具有这些属性的数字--想想信用卡号码、邮政编码和FIP代码。电话号码也属于这一类。

一个重要的考虑因素是前导0是否重要。对于实际数字,这些并不重要。对于碰巧使用数字的代码,它们很重要。

因此,我建议您将这些值存储为字符串。我不知道最长的电话号码是多少,但我不希望我的数据库依赖于今天的最大值。只要使用像varchar(255)这样的东西,它应该在很长一段时间内就足够了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26780015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档