V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Archangell
V2EX  ›  问与答

旁边老哥问我为什么手机号不用 int

  •  
  •   Archangell · 2019-03-26 15:12:15 +08:00 · 5193 次点击
    这是一个创建于 2071 天前的主题,其中的信息可能已经有所发展或是发生改变。

    数据库设计 phone 是 varchar 型 他问我为什么不是 int 型

    34 条回复    2019-03-26 22:24:51 +08:00
    MaxTan
        1
    MaxTan  
       2019-03-26 15:20:39 +08:00
    你跟他说不够用
    learnshare
        2
    learnshare  
       2019-03-26 15:23:29 +08:00   ❤️ 1
    国家代码怎么存
    Vegetable
        3
    Vegetable  
       2019-03-26 15:29:58 +08:00   ❤️ 2
    千言万语化作一句老子乐意
    newtype0092
        4
    newtype0092  
       2019-03-26 15:32:07 +08:00
    我前不久才干过这个沙雕事情。。。存的手机号入库就变了,后来才想起来位数不够。。。
    prolic
        5
    prolic  
       2019-03-26 15:33:02 +08:00
    电话号码包括+-的
    helionzzz
        6
    helionzzz  
       2019-03-26 15:33:55 +08:00   ❤️ 3
    你就问他老子为什么要写道德经
    icew4y
        7
    icew4y  
       2019-03-26 15:38:14 +08:00 via iPhone
    你的同事这种问,表示他经验不足
    ccoming
        8
    ccoming  
       2019-03-26 15:38:27 +08:00   ❤️ 4
    我的理解:对于能加减的数字串(日期、时、金额),才用数值型的。不能加减的(订单号、手机号、身份号),都用文本型。
    dallaslu
        9
    dallaslu  
       2019-03-26 15:41:57 +08:00
    大家大业的还差这点数据库空间
    Flasky
        10
    Flasky  
       2019-03-26 15:42:57 +08:00 via Android   ❤️ 1
    存手机号至少也要 long long 啊,但是如果是座机这些 0 开头的你怎么存?
    Lin0936
        11
    Lin0936  
       2019-03-26 15:48:07 +08:00
    你问他为什么不用 byte
    Archangell
        12
    Archangell  
    OP
       2019-03-26 15:51:11 +08:00   ❤️ 3
    那老哥看了大家回复表示明白了
    PP
        13
    PP  
       2019-03-26 16:18:13 +08:00 via iPad   ❤️ 9
    加班后楼主被老哥毒打一顿,“害我丢脸!”
    MeteorCat
        14
    MeteorCat  
       2019-03-26 16:21:11 +08:00 via Android
    +86 +0754
    WordTian
        15
    WordTian  
       2019-03-26 16:23:14 +08:00 via Android
    哈哈,int 好像最多存到 24 亿左右吧,11 位的电话号码是真存不了
    Archangell
        16
    Archangell  
    OP
       2019-03-26 17:01:26 +08:00
    @PP 不会 他表示感谢 涨姿势
    shiny
        17
    shiny  
       2019-03-26 17:03:14 +08:00
    让我想起年少无知时,把 ip2long 的地址存成 unsigned int 的那个下午
    orangeade
        18
    orangeade  
       2019-03-26 17:23:54 +08:00 via Android
    @learnshare 微博貌似是两部分,+号换成 0
    ck65
        19
    ck65  
       2019-03-26 17:29:03 +08:00
    1-800-MY-APPLE 苹果客服电话了解一下
    v2mm
        20
    v2mm  
       2019-03-26 18:56:34 +08:00
    @shiny ip2long 存成 unsigned int 感觉没啥问题啊,省空间,作为 key 比较时效率还高
    pinews
        21
    pinews  
       2019-03-26 19:05:52 +08:00
    用 int 是自己为难自己,
    GGGG430
        22
    GGGG430  
       2019-03-26 19:07:28 +08:00 via iPhone
    你跟他说我要查询 138 开头的手机号有哪些,int 怎么查?
    co3site
        23
    co3site  
       2019-03-26 19:09:48 +08:00 via Android
    当然是给他介绍 longlong 啊
    shiny
        24
    shiny  
       2019-03-26 19:31:08 +08:00
    @v2mm 当前我也是这么想的,但当年 32 位系统还是很流行的,ip2long 会出现负值,然后插入失败。如果恰好又不重视错误信息的捕获,这条记录就很可能永远丢失了。
    shiny
        25
    shiny  
       2019-03-26 19:32:45 +08:00
    @v2mm 而我恰好都遇到了,更巧的是每条记录起码值个千把块钱。
    AlisaDestiny
        26
    AlisaDestiny  
       2019-03-26 19:34:01 +08:00
    @GGGG430
    select * from user where floor(phone/100000000) = 138; 哈哈哈
    opengps
        27
    opengps  
       2019-03-26 19:53:32 +08:00
    我替你回答他 666
    huangdayu
        28
    huangdayu  
       2019-03-26 19:58:10 +08:00 via Android
    +86 1.........
    msg7086
        29
    msg7086  
       2019-03-26 19:58:35 +08:00
    主要是因为电话号码不是一个数值,所以不能当作数值来存储。和位数都没有关系。

    021 10086 这个号码你用 int 怎么存。
    lxy
        30
    lxy  
       2019-03-26 20:33:15 +08:00
    说到 IP,当时以为 unsigned int 够用,结果还有 IPv6...
    dreamwar
        31
    dreamwar  
       2019-03-26 20:38:51 +08:00   ❤️ 1
    晚上回去后楼主被边上老哥压在身下,一边...一边问:“你今天为什么要上 V 站发这个贴,嫌我不够丢人吗?”
    ob
        32
    ob  
       2019-03-26 20:40:43 +08:00 via Android
    @AlisaDestiny >1380000...<1390000
    Osk
        33
    Osk  
       2019-03-26 21:39:53 +08:00 via Android   ❤️ 1
    excel 让我明白很多看起来像数字的实际上不能用数字类型😂
    mingyun
        34
    mingyun  
       2019-03-26 22:24:51 +08:00
    #8 楼没毛病
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:45 · PVG 01:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.