我正在创建一个标记用户,帖子和评论的“标记”功能。
我目前正在使用三个表:“flagged_users”“flagged_postings”和“flagged_comments”。
在每个表中,有:flagged_id,user_id / posting_id / comment_id,reason。
有没有办法合并到一个表中?或者最好是3张桌子?
答案 0 :(得分:1)
你可以使用以下列创建一个表: flagged_id,类型,识别,原因 其中type = 1表示flagged_user,2表示flagged_postings,3表示flagged_comments。 id会引用用户的id或发布或评论。 但是在查询此表时,您必须对类型列进行额外检查。
答案 1 :(得分:0)
如果你想要外键,可以像这样创建一个Flags表,并根据类型更改你要插入的列:
FlagID - auto inc
UserID - default NULL
PostingID - default NULL
CommentID - default NULL
Reason - text
或者,如果您不关心数据库中的FK,只需使用一列作为参考ID:
FlagID - auto inc
ObjectID - User/Post/Comment ID
Reason - text