V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
michaelxuan
V2EX  ›  程序员

为什么喜欢用逗号分隔 id 存储字符串来表示一对多的关系?想不通

  •  
  •   michaelxuan · 2020-07-18 14:54:08 +08:00 · 2229 次点击
    这是一个创建于 1350 天前的主题,其中的信息可能已经有所发展或是发生改变。

    更新,删除,修改,查找。每一个操作都不方便。

    7 条回复    2020-07-19 08:26:28 +08:00
    zjsxwc
        1
    zjsxwc  
       2020-07-18 14:57:20 +08:00
    没用 ORM 吧,用 ORM 就没这些问题,全部自动处理多对多关系,自动创建中间表。

    一对多关系,一般都是“多”的那方保存“一”的 id,不会让一来保存多个 id
    pinews
        2
    pinews  
       2020-07-18 15:02:29 +08:00
    符合人类直观思维
    murmur
        3
    murmur  
       2020-07-18 15:04:10 +08:00
    省一个表,少一条 SQL,有些东西不需要查询,不需要单独维护,数据量就那么点,干嘛建一个单独的表,到时候删数据的时候又删主表又删关联表,自己给自己找事么

    我们的附件就是用逗号分隔的表达式存的,一个单子就那么几个附件,业务直接关联主表就可以,干嘛还弄个关联表多此一举,你弄了关联表到时候关联表还得区分是哪个业务存的
    michaelxuan
        4
    michaelxuan  
    OP
       2020-07-18 15:08:53 +08:00
    @murmur 有些业务是可以用,但核心表用这种设计就无语了。现在扩展很麻烦
    pinews
        5
    pinews  
       2020-07-18 15:18:14 +08:00
    @michaelxuan 醒醒,这里是地球。
    wujieyuan
        6
    wujieyuan  
       2020-07-18 20:41:16 +08:00
    看需求吧, 不是频繁修改的数据, 再建立一个关联表不划算
    airqj
        7
    airqj  
       2020-07-19 08:26:28 +08:00 via Android
    你想说逗号还是冒号?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5309 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:27 · PVG 15:27 · LAX 00:27 · JFK 03:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.