首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与多个表相关的Mysql comments表

与多个表相关的Mysql comments表
EN

Stack Overflow用户
提问于 2018-09-09 21:32:48
回答 2查看 280关注 0票数 0

因为基本上任何东西下都可能有注释,所以我不确定如何将关系转移到我的数据库设计模式中。

代码语言:javascript
复制
    CREATE TABLE comments (
    id INT(11) NOT NULL PRIMARY KEY,
    content TEXT NOT NULL,
    authorId INT(11) NOT NULL,
    FOREIGN KEY(authorId) REFERENCES users(id)
    );

正如您所看到的,通过将作者的id存储在数据集中,注释也与users表有关系。但是,评论本身既可以在帖子下,也可以在视频下,这是两个独立的表格。这里是我的问题:我应该为两个关系(video_comments和post_comments)都创建一个连接表,还是应该用其他任何方式。此外,应该有一个删除层叠约束,这应该会导致视频,这是删除,也删除了相关的评论。

EN

回答 2

Stack Overflow用户

发布于 2018-09-09 21:44:20

我认为您可以创建commentable_idcommentable_type来让您知道这个id对于这部分属于哪个表

此外,还应该有一个删除层叠约束,它应该会导致视频被删除,同时也会删除与其相关的评论

我不知道怎么做,我想如果我处在你的位置上,我会在删除视频之前用代码处理它,我会检查是否有任何评论并删除它。

票数 0
EN

Stack Overflow用户

发布于 2018-09-10 00:12:34

这是你可能想要考虑的另一种方式:

  1. 添加一个名为'itme_id‘的列或类似的列来存储video_id或post_id
  2. Lcreate for/after delete triggers在视频表和post表上,使用魔术表中的信息在触发器内删除评论表。

通过这种方式,您不必创建新的表或坚持使用级联。这只是我的假设,如果这对你有意义,请让我知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52245013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档