问题描述
|
我目前在sql Server数据库中有两个连接的表,一个包含新闻项(newsTab),一个表(usrCom)捕获每篇文章的多个用户注释。
我想添加另一个信息表(infoTab),该表也将允许用户进行注释,但是我希望使用现有的注释表(usrCom)来存储这些信息。
如何创建链接/桥表,该表会生成唯一的ID,因此我知道注释属于哪个表(newsTab / infoTab)。
注意:我已经编辑了邮件,希望可以使邮件更加清晰
第一表(newsTab)
NewsId NewsContent
---------------------
1 blah blah
2 and so on
第二表(infoTab)
infoId InfoContent
---------------------
1 some info
2 more stuff
评论表(当前)
commentId linksTo Comment
------------------------------
1 1 user input
2 1 random rant
\'linksTo \'是第一个表中项目的外键,因此我不能仅添加类型列,如果新表中不存在具有相同ID的行,则我将在外键列上产生冲突。因此,需要基于正在评论的表和ID的新生成的外键。
解决方法
为什么不只是usrCom的“类型”列
, 如果自动生成commentId(设置为主键),则usrCom表中不会有任何重复项。另外,如果要为新闻和信息表保留一个表以供注释,则应添加一个新列,以区分针对哪些表的注释(称为类型)。然后在查询中,确保指定用于过滤结果的类型。
要查看newsTab的所有评论:
select * from usrCom
where type=\'newsTab\'