• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sd4399340
V2EX  ›  程序员

一个有关数据库设计的疑问

  •  
  •   sd4399340 ·
    PinkyJie · Feb 13, 2012 · 5620 views
    This topic created in 5229 days ago, the information mentioned may be changed or developed.
    现在有这样一种情况,我有一个商品的表,有一个用户的表,然后我想记录用户是否收藏了某个商品,应该怎么设计呢?

    我是从用户表下手还是从商品表下手添加新的字段呢?还是应该重新建一个表。。。

    不知道有没有什么好的解决方案啊,起码得比较方便的能查询某件商品有那些用户收藏了,或某个用户收藏了那些商品。
    6 replies    1970-01-01 08:00:00 +08:00
    eric_zyh
        1
    eric_zyh  
       Feb 13, 2012   ❤️ 1
    国际标准:

    商品表 items(id)
    用户表 users(id)
    商品用户映射表 items_users(id,uid,iid)

    用户id=?收藏了那些商品
    select * from items_users a,items b where a.iid = b.id and a.uid = ?

    商品ID=?被哪些用户收藏
    select * from items_users a,useris b where a.uid = b.id and a.iid = ?
    tokki
        2
    tokki  
       Feb 13, 2012
    我会新建个表 专门纪录关系-。- 不过 我好多年没弄过表了 不知道现在还有更好的设计方法没
    icyflash
        3
    icyflash  
       Feb 13, 2012
    1L +1
    sd4399340
        4
    sd4399340  
    OP
       Feb 13, 2012
    @eric_zyh 谢谢,看来最朴实的办法往往是最起作用的办法啊~
    yehuichen
        5
    yehuichen  
       Feb 13, 2012
    如果你是搞java的话,你看看现在的JPA中annotation技术,可能会提供一个相对简单的方式帮助你解决这样的问题...
    sd4399340
        6
    sd4399340  
    OP
       Feb 13, 2012
    @yehuichen 现在用的是php,有空看看~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 12:24 · PVG 20:24 · LAX 05:24 · JFK 08:24
    ♥ Do have faith in what you're doing.