全球技术论坛,求数据库设计思路

搬瓦工机场JMS

小弟不才,无法完美解决两人关系问题

假设有张聊天室的表,里面有两个字段   UseridA和UseridB

现在有两个人,ID为111和222

当111对222发起聊天的时候建立聊天室表, UseridA=111, UseridB=222

当222对111发起聊天的时候建立聊天室表, UseridA=222, UseridB=111

当我需要去对他们的聊天室做更改的时候,查找聊天室的语句就是    (UseridA=111&&UseridB=222)|| (UseridA=222&UseridB=111)

本人觉得此方法极其愚蠢,现在想到的解决方案有两种,一种就是固定把UseridA填入小的id,另外一种就是多加一个字段为,111,222,这种形式让后进行包含的查询,但是始终感觉无法完美,求大佬解惑

山西网友:为什么要两张表,一张表不就可以解决了么,一个sender,一个receiver
湖南网友:用一个表表示两个人聊天不就行了
湖北网友:。。 userA userB ??
你的聊天室只支持2个人??  
青海网友:我没见作者是两张表啊?
台湾网友:
我没做过聊天室,也不是大佬   
不过我的思路是这样
看别人的聊天室 都是有房间号,我觉得一个聊天室一个id吧(有个自增id就行了 不需要用户A+用户B这么查)
然后查询就查这个id   
来一个字段存发起的Userid  ,再一个字段就用 , 存接收人的Userid   查这个用find_in_set() 查

不过如果聊天人多的话,用关联表  一张表存 聊天室id,发起人Userid 聊天室信息,另一张表 存聊天室id,聊天人们的Userid 一个聊天用户一个记录 如果有啥聊天室积分的这么搞不错
河南网友:没学过不会
上海网友:你第一种方法和第二种有啥区别?感觉就是字段名不一样?
澳门网友:

当111对222发起聊天的时候建立聊天室表, UseridA=111, UseridB=222

当222对111发起聊天的时候建立聊天室表, UseridA=222, UseridB=111

这不是两张表吗?
福建网友:只是打比方,主要想解决的问题是两人关系,比我我喜欢你或者你喜欢我,现在已知我和你的id,要找出我喜欢你或者你喜欢我的记录,怎么样的设计思路可以比较方便的查找
吉林网友:只是打比方,主要想解决的问题是两人关系,比我我喜欢你或者你喜欢我,现在已知我和你的id,要找出我喜欢你或者你喜欢我的记录,怎么样的设计思路可以比较方便的查找
青海网友:一张   就是两个字段   UseridA 字段和 UseridB 字段 一个发送一个接受
广西网友:道理我都懂,为什么聊天室只有2个人?

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » 全球技术论坛,求数据库设计思路

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏