SQL 实施 - 类似社交媒体的功能
SQL Implementation - Social Media Like Functionality
我正在构建一个全栈应用程序,有点像 Pinterest 或 Instagram。
我被卡住了,这是一种可怕的感觉,我希望能从任何好心人那里得到任何帮助! :)
所以我正在尝试实现“喜欢”功能。众所周知,您可以对一个实体点赞一次,而且只能点赞一次。我想知道的是如何以用户不能多次喜欢的方式约束数据库。我想我会这样做的方式是有一个单独的 Like table 像这样:
当然,如果我 UNIQUE user_id,那么用户只能在网站上喜欢一个东西,这显然是一场灾难,哈哈。所以我的问题是,我如何确保没有重复的行中包含完全相同的信息?或者在创建 table 时设置某种 CHECK 条件,使 user_id 和 artpoem_id
匹配的行不能超过一行?
还是我想错了?我是否应该为每个 ArtPoem-entry
单独点赞 table,然后将 user_id 设为唯一?
我会 SO 感谢任何帮助,因为这已经困扰我好几天了。谢谢!
问题解决了!如果以后有其他人看到此内容,请按以下方式操作:
在@Solarflare 的帮助下,他为我指出了正确的方向,我在我的 ORM (TypeOrm) 中做了这个:
产生了这个原始 SQL:
现在,当我尝试添加一个带有匹配的 artpoemId 和 userId 的附加 like-table 条目时,我的数据库在下面给出了这个错误,这正是我一直在寻找的! Yippie 及以后!
我正在构建一个全栈应用程序,有点像 Pinterest 或 Instagram。
我被卡住了,这是一种可怕的感觉,我希望能从任何好心人那里得到任何帮助! :)
所以我正在尝试实现“喜欢”功能。众所周知,您可以对一个实体点赞一次,而且只能点赞一次。我想知道的是如何以用户不能多次喜欢的方式约束数据库。我想我会这样做的方式是有一个单独的 Like table 像这样:
当然,如果我 UNIQUE user_id,那么用户只能在网站上喜欢一个东西,这显然是一场灾难,哈哈。所以我的问题是,我如何确保没有重复的行中包含完全相同的信息?或者在创建 table 时设置某种 CHECK 条件,使 user_id 和 artpoem_id
匹配的行不能超过一行?
还是我想错了?我是否应该为每个 ArtPoem-entry
单独点赞 table,然后将 user_id 设为唯一?
我会 SO 感谢任何帮助,因为这已经困扰我好几天了。谢谢!
问题解决了!如果以后有其他人看到此内容,请按以下方式操作:
在@Solarflare 的帮助下,他为我指出了正确的方向,我在我的 ORM (TypeOrm) 中做了这个:
产生了这个原始 SQL:
现在,当我尝试添加一个带有匹配的 artpoemId 和 userId 的附加 like-table 条目时,我的数据库在下面给出了这个错误,这正是我一直在寻找的! Yippie 及以后!