旁边老哥问我为什么手机号不用 int - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Archangell
V2EX    问与答

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

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

    数据库设计 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
    mogita
        19
    mogita  
       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     Solana     3133 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 43ms UTC 12:04 PVG 20:04 LAX 05:04 JFK 08:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86