V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ghjh
V2EX  ›  程序员

你们数据库会直接存用户的年龄吗?

  •  1
     
  •   ghjh · 13 小时 13 分钟前 · 6460 次点击

    吐槽贴

    接反馈,用户用了两年平台了,显示的年龄一直都是 32 岁,想问问怎么回事

    那么看代码就很清楚了。用户注册时候让填年龄,后端直接把年龄作为一个单独字段存起来了,然后用户自己也没地方改

    我辛勤的同事们啊

    71 条回复    2025-09-25 00:32:39 +08:00
    Meijer
        1
    Meijer  
       13 小时 12 分钟前   ❤️ 2
    用生日啊
    mooyo
        2
    mooyo  
       13 小时 12 分钟前
    乐,顶级设计
    hkiJava
        3
    hkiJava  
       13 小时 10 分钟前   ❤️ 1
    程序和程序员有一个能跑就行了(逃
    Cloud9527
        4
    Cloud9527  
       13 小时 10 分钟前   ❤️ 2
    冻龄了
    panxi
        5
    panxi  
       13 小时 9 分钟前
    哈? 这不是段子吗? 怎么还真有人存年龄字段
    uqf0663
        6
    uqf0663  
       13 小时 9 分钟前   ❤️ 6
    [手动狗头] 也不是不能用,一定有注册时间的字段吧?算一下当前年份跟注册时间的年份相差几年,把这个数字+年龄数字字段再更新回去,这就补救完了,然后再整个计划任务,每年 1 月 1 日 0 点整个数据库年龄字段+1 ,对屎山就开始堆了。
    malusama
        7
    malusama  
       13 小时 7 分钟前   ❤️ 1
    用生日啊, 我的天。 至少填年龄的时候后端得转成出生的年份把。 你现在咋改
    callv
        8
    callv  
       13 小时 7 分钟前
    天才哈哈
    JoeDH
        9
    JoeDH  
       13 小时 4 分钟前
    说明你们这个字段并不重要啊
    lchynn
        10
    lchynn  
       13 小时 4 分钟前   ❤️ 1
    SELECT
    EXTRACT(YEAR FROM SYSDATE) - EXTRACT(YEAR FROM 注册日期) + 年龄字段 AS 当前年龄
    FROM 表名;
    shen13176101
        11
    shen13176101  
       13 小时 4 分钟前
    我没记错的话,qq 也是单独字段存起来的吧。之前每年手动改年龄
    poic
        12
    poic  
       13 小时 4 分钟前
    这种只能写个作业定时每天跑一次刷一下
    rm0gang0rf
        13
    rm0gang0rf  
       13 小时 1 分钟前
    这有啥?算回生日更新字段不就行了
    tabris17
        14
    tabris17  
       13 小时 1 分钟前   ❤️ 26
    这是墓园系统吗?
    qwwuyu
        15
    qwwuyu  
       12 小时 58 分钟前
    年龄+当前时间-注册时间
    xuanbg
        16
    xuanbg  
       12 小时 53 分钟前
    年龄肯定要算的,不管你存的是什么,反正都有办法算的。譬如你直接存注册时填写的年龄,那按楼上 V 友的算法就可以得到“理论上正确”的年龄了。
    slert
        17
    slert  
       12 小时 52 分钟前   ❤️ 1
    当时实现需求的时候没动脑子 你就说实没实现吧 至少管用 1 年没问题
    javalaw2010
        18
    javalaw2010  
       12 小时 47 分钟前
    说来惭愧,这事我也干过。主要是因为产品经理他就这么设计的,修改年龄的控件不是个日期组件而是个数字 picker ,我发现问题了但我又懒得让他改,数据库就直接设计一个 age 字段完事了。
    janpun
        19
    janpun  
       12 小时 29 分钟前
    @malusama 直接今年-注册年+注册时年龄就是现在的年龄,也能用,只要不收集出生日期,都不会特别准。
    cwcc
        20
    cwcc  
       12 小时 22 分钟前
    椰树牌椰汁都不敢直接保存年份作为包装,更何况信息系统
    ovtfkw
        21
    ovtfkw  
       12 小时 20 分钟前 via iPhone
    qq 的年龄不是也不会变化的?
    renmu
        22
    renmu  
       12 小时 18 分钟前 via Android
    要看场景,如果医院场景那正确的年龄就是非常重要的,如果是社交场景,自定义的年龄可能更适合用户
    snailya
        23
    snailya  
       12 小时 8 分钟前   ❤️ 1
    简单,UI 改成注册时年龄
    ghjh
        24
    ghjh  
    OP
       12 小时 7 分钟前
    查完 blame 之后,这东西看起来是外包做的
    结题,散会!
    InDom
        25
    InDom  
       12 小时 5 分钟前
    设计可以, 但需要提供用户“编辑年龄”的功能, 虽然还是屎一样, 但用户不会找到你头上了.
    inhzus
        26
    inhzus  
       11 小时 29 分钟前
    开除外包以祭天
    jackOff
        27
    jackOff  
       11 小时 25 分钟前
    赛博死亡笔记吗?填完就销户?
    Ketteiron
        28
    Ketteiron  
       11 小时 25 分钟前
    笑麻了
    但这本质上不是外包的问题,是请了外包以及没做好验收的问题
    Kiriri
        29
    Kiriri  
       10 小时 39 分钟前
    倒是可以根据注册时间算一下
    edsion1107
        30
    edsion1107  
       10 小时 38 分钟前
    小米运动健康的?怎么跟我反馈的问题一模一样……
    keller
        31
    keller  
       9 小时 47 分钟前
    外包不还是按照需求做的?产品谁设计的
    Cloud9527
        32
    Cloud9527  
       9 小时 46 分钟前
    其实没毛病,我就想记录用户注册时的年龄
    hervey0424
        33
    hervey0424  
       9 小时 45 分钟前
    写个任务, 每年执行一次增加以下年龄
    knva
        34
    knva  
       9 小时 34 分钟前
    天才,我说的是数据库设计
    Cruzz
        35
    Cruzz  
       9 小时 31 分钟前
    有注册时间自己算一下呗,问题不大。
    rabbbit
        36
    rabbbit  
       9 小时 28 分钟前
    还行,没说后端让前端自己根据注册时间加一下。
    julyclyde
        37
    julyclyde  
       9 小时 7 分钟前
    我大学时的学生证上也是写的年龄
    一些其他的证件(我指的不是死亡证明)好像也是年龄
    nekoneko
        38
    nekoneko  
       9 小时 4 分钟前
    如果是我设计的话, 一般会把生日存为虚拟列.
    idealhs
        39
    idealhs  
       9 小时 4 分钟前
    同事纯脑瘫,我刚毕业也写不出这种唐氏逻辑
    realpg
        40
    realpg  
    PRO
       8 小时 55 分钟前
    以前 QQ 就得每年自己改...
    T1205
        41
    T1205  
       8 小时 52 分钟前
    看看有没有创建时间,然后根据当前的时间计算一把
    Rat3
        42
    Rat3  
       8 小时 4 分钟前
    年龄不参与业务的话,有啥问题吗,之前 qq 就这么设计的
    HHAO2019
        43
    HHAO2019  
       8 小时 3 分钟前
    不是产品的问题吗
    Hopetree
        44
    Hopetree  
       8 小时 1 分钟前   ❤️ 2
    只能说,产品是天才,开发也是,前端是,后端也是,测试也是,这一个简单的问题,暴露出一群天才
    v2er119
        45
    v2er119  
       7 小时 52 分钟前
    各位都是写代码的,都没想到:有没有可能原始需求就是要一个注册时的用户年龄,然后后面 UI 显示成 实时年龄了。
    jiangzm
        46
    jiangzm  
       7 小时 40 分钟前
    有生日信息就不要填年龄信息,不需要生日信息可以单独填年龄的话应该就是个参考信息,用户自己决定对外展示的年龄。
    wangtian2020
        47
    wangtian2020  
       7 小时 14 分钟前
    你不说我还真想不起来这种情况。屁大点事不至于上纲上线,改就完事了
    wangtian2020
        48
    wangtian2020  
       7 小时 13 分钟前
    社交软件万一用户要装自己永远 18 岁呢
    henshang
        49
    henshang  
       6 小时 46 分钟前
    @uqf0663 #6 直接全部推算出注册年月日,洗库,然后废弃之前年龄字段不就行了,你这什么回路
    unco020511
        50
    unco020511  
       6 小时 45 分钟前
    哈哈,永远 18 岁了
    henshang
        51
    henshang  
       6 小时 43 分钟前
    @hervey0424 #33
    @poic #12 你们真的是设计过数据库吗
    op351
        52
    op351  
       6 小时 39 分钟前
    实际上有些商业 HR 系统的人员表里是有 AGE (年龄)字段的
    我看了我司的 HR 系统的这张表,AGE 是自动更新的
    xiaobei206
        53
    xiaobei206  
       6 小时 9 分钟前
    设置年龄可以让用户自己随便修改不就完事了,以前 QQ 就这样
    duzhuo
        54
    duzhuo  
       6 小时 2 分钟前 via Android
    哈哈 上学没教吗
    Pipecraft
        55
    Pipecraft  
       5 小时 37 分钟前
    开发团队不 review 代码吗?
    就算 review 代码做不到,数据库设计总要 review 吧?
    都不做?那就不要抱怨是哪位同事或外包写的了。
    lc5900
        56
    lc5900  
       4 小时 55 分钟前
    写个 job ,每天定时扫下过生日的人加一岁(不是
    zerovoid
        57
    zerovoid  
       4 小时 48 分钟前
    明显是产品的问题,正常不是应该填写生日么,而且也要有修改生日的入口,
    大概率产品就画了一个年龄,其他啥也没有,或者压根就没产品。
    zerovoid
        58
    zerovoid  
       4 小时 45 分钟前
    @op351 #52 HR 系统看情况吧,如果没入职的人,填个求职时的年龄也正常,入职了就要更新了。
    leo72638
        59
    leo72638  
       4 小时 42 分钟前
    笑死,重新算一遍重新存就好了
    Howlaind
        60
    Howlaind  
       4 小时 27 分钟前
    再每年给发一次通知,让用户自己改年龄
    WuDiHaiTai
        61
    WuDiHaiTai  
       4 小时 14 分钟前
    #60 +1 解决不了问题就解决人,下次开 App 弹出界面让填生日,底下写行小字,说生日当天有福利,进一步吸引用户填写,不愿意填写的就直接把年龄隐藏掉,用户点击年龄就如上述,这种情况天知地知你知我知,用户八辈子也猜不到是你们搞错了年龄数据库。
    bowencool
        62
    bowencool  
       3 小时 59 分钟前
    再不济拿注册日期加一下啊
    v1
        63
    v1  
       3 小时 27 分钟前
    不绑定身份证的,让用户自己选生日、写年龄,都不可信
    jadeborner
        64
    jadeborner  
       2 小时 59 分钟前
    不都有创建日期这个字段吗?保存年纪咋了
    soul11201
        65
    soul11201  
       2 小时 50 分钟前
    @lchynn 他们公司的同事真是人才
    isbase
        66
    isbase  
       2 小时 41 分钟前
    哈哈哈,说明后端写的时候没动脑子
    levelworm
        67
    levelworm  
       2 小时 37 分钟前 via iPhone
    UI 上面改成注册年龄就完了,其他啥也不用。
    EastLord
        68
    EastLord  
       2 小时 18 分钟前
    今日乐子+1
    Bootis
        69
    Bootis  
       1 小时 12 分钟前
    1
    yeelone
        70
    yeelone  
       1 小时 7 分钟前   ❤️ 1
    @levelworm #67 有点屎上雕花的味道了哈哈哈
    BeiChuanAlex
        71
    BeiChuanAlex  
       8 分钟前
    @tabris17 #14 张三|普通炉|男| 18 岁
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1470 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:41 · PVG 00:41 · LAX 09:41 · JFK 12:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.