gpt4 book ai didi

mysql - PHP/MySQL 多对多。如何?

转载 作者:可可西里 更新时间:2023-11-01 07:59:28 26 4
gpt4 key购买 nike

我最近认为在 MySQL 数据库中存储一个数组可以解决我的问题......然后我去撞墙,直到我意识到有一个更简单的解决方案来解决我的问题。不幸的是,我似乎无法弄清楚我到底需要做什么。

我有两张 table 。用户和条目。每个用户都可以是任意数量条目的作者。一对多对吗?那么问题来自于每个条目可以有很多用户的事实。 -_-;

正如您所想象的那样,使用数组执行此操作会...不仅麻烦而且愚蠢,尤其是如果有人设法积累了 2000 个条目。我曾预料到我可能需要创建一个额外的表,一些资源似乎确实暗示了这一点,但资源并不像我希望的那样清晰。我需要获取所有用户的帖子和其他地方,我需要获取用户的所有帖子。

有人可以解释一下这样做的最佳方法吗? (当然不使用数组 =p)

最佳答案

你需要做3张表:

  • 用户(主键 = id)
    • 编号
    • 姓名
    • ...
  • 条目(主键= id)
    • 编号
    • 正文
    • ...
  • userentry(主键=复杂键用户,条目)
    • 用户
    • 条目

如果你想获得一个条目用户,就这样做

SELECT
user.*
FROM
userentry
INNER JOIN
user
ON
userentry.user = user.id
WHERE
userentry.entry = [your entry-id]

要获取用户的所有条目,只需反过来:

SELECT
entry.*
FROM
userentry
INNER JOIN
entry
ON
userentry.entry = entry.id
WHERE
userentry.user = [your user-id]

关于mysql - PHP/MySQL 多对多。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268579/

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