Mysql 表结构
我是MYSQL新手,我正在开发消息模块。我的桌子结构就是这样 Message=>id,Message,已创建 MessageUser=>id,message\u id,receiver\u id,sender\u id,正在读取 用户=>id、用户名、电子邮件 发送方id和接收方id与User.id关联,消息id与message.id关联 当我对收件箱执行查询时,我输入了一个条件(其中receiver_id=$param); 与“我的已发送项目”条件相同(其中发送者_id=$param) 工作正常。但是当我从收件箱或发送的邮件中删除邮件时,问题就出现了 bcoz我对UserMessage表执行删除查询 当此邮件从“我的发送”框中删除时,它也将从其他用户的收件箱中删除 我有两个解决方案 1。添加另一列是_delete,并根据从接收方或发送方删除设置其值 2。将MessageUser表分为两个表 发送者=>id,消息id,发送者id; Receiver=>id,message\u id,Receiver\u id,正在读取 告诉我什么是更好的日光浴。还告诉我另一个独唱 提前谢谢 请尽快回复< /P> < P>选项3)考虑以下内容: 用户表(可以是发送方或接收方) 用户标识PK 消息表(消息或响应) 消息ID(主键) ParentMessageID(FK到self)Mysql 表结构,mysql,Mysql,我是MYSQL新手,我正在开发消息模块。我的桌子结构就是这样 Message=>id,Message,已创建 MessageUser=>id,message\u id,receiver\u id,sender\u id,正在读取 用户=>id、用户名、电子邮件 发送方id和接收方id与User.id关联,消息id与message.id关联 当我对收件箱执行查询时,我输入了一个条件(其中receiver_id=$param); 与“我的已发送项目”条件相同(其中发送者_id=$param) 工作正
usermessagetableIMHO我认为更好的方法是添加一个带有 枚举(发送方、接收方、两者)类型
如果它正在存储
sender
,则它将从sender中删除;如果它的值是receiver
,则它已被receiver删除,依此类推。您列出的两个选项中:选项2更好,因为选项1不符合您指出的要求:您需要在选项1中添加两列:一列用于sender\u deleted,删除了一个用于接收器的。然而,我假设总是有一个发送者和一个接收者。是否有一个发送者和多个接收者?是的,可以有一个发送者和多个接收者。。