gpt4 book ai didi

php - 如何将MySQL数据库表的一行链接到另一个表中的另一行

转载 作者:行者123 更新时间:2023-11-29 13:18:03 25 4
gpt4 key购买 nike

我知道这没有什么意义...而且我是使用 MySQL 的新手...我在这里想做的是将一个表行链接到另一个表行......例如有两个表..一张表用于用户注册,同一张表也用于登录......下一张表用于用户帖子..例如状态更新和所有...

这就是我想要的......

user_log_info:-
id ( primary )
firstname
lastname
username
email
password

posts:-
id ( primary )
userposts
posted_by
date_post

如您所见,我希望将 user_log_info 表用户名自动复制到 posts posted_by 行...我有不知道如何存档这个...

最佳答案

您提供的信息不足以给出完整的答案,但我会尽力利用您提供的信息。

表格

+-----------------+ +-----------------+
| users_log_info | | posts |
+-----------------+ +-----------------+
| int ID (primary)| | int ID (primary)|
+-----------------+ | int posted_by |
+-----------------+

(我省略了与您似乎想做的事情无关的字段,我只是简化了它)

posted_by 是一个非官方的外键,或者引用另一个表的主键。

要插入,您可以执行以下操作:

INSERT INTO posts(...., posted_by) VALUES (...., user.ID)

其中...正在引用您要插入的所有其他信息

然后,查找有关发布内容的人的信息:

SELECT * FROM users_log_info WHERE ID = Post.posted_by

或者,如果您想查找某个用户的所有帖子:

SELECT * FROM posts WHERE posted_by = user.ID

因此,如果用户 ID 3 的 Bob 想发布“嗨”,您可以这样做:

INSERT INTO posts(content, posted_by) VALUES('Hi', bob.ID)

然后当您输出帖子时,您可以这样做:

post = (however you choose the post to put on the page)
userPosted = SELECT * FROM users_log_info WHERE ID = post.posted_by

print post.content + " posted by: " userPosted.Name

本质上,字段“posted_by”是“发布”任意数字,但您知道它链接到或引用用户。它通过引用“ID”来实现这一点,“ID”是users_log_info的主键,因此当您想要从users_log_info获取信息时,您需要做的就是选择具有与“posted_by”对应的ID的条目。不过,我建议将其命名为 posterID 之类的名称,以便于识别。

关于php - 如何将MySQL数据库表的一行链接到另一个表中的另一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21219769/

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