gpt4 book ai didi

数据库规范化和嵌套列表——想不出解决办法

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:07 25 4
gpt4 key购买 nike

我正在尝试在我的网站上实现一个类似于 Facebook 的“赞”功能的系统。用户可以在其中单击 counter++ 的按钮。但是,我在有效地将数据存储到我的数据库方面遇到了问题。

每个故事在我的数据库的 stories 表中都有自己的行,其中包含 likeusers_like 列。

我希望每个人只能喜欢这个故事一次。因此,我需要以某种方式存储表明用户实际上喜欢++'d 帖子的数据。

我所能做的就是创建一个名为 users_like 的列,然后使用 CONCAT 添加每个用户,后跟一个逗号,然后使用 php 分解数据的函数。

但是,据我所知,这种方法是与数据库规范化相反的。

执行此操作的最佳方法是什么,我理解“最佳”是主观的。

我不能向 user 表添加 liked 标志,因为会有大量的故事可以被这个人“喜欢”。

谢谢

最佳答案

您的数据库中需要一个多对多表,用于存储stories 表的外键和user 表的外键。您对该表施加了约束,说明故事 fk - 用户 fk 组合必须是唯一的。

您现在甚至不必有一个like 列,您只需计算与您的故事对应的多对多表中的行数。

关于数据库规范化和嵌套列表——想不出解决办法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com