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

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

  •  1
     
  •   ghjh · 8 小时 20 分钟前 · 5069 次点击

    吐槽贴

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

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

    我辛勤的同事们啊

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