我知道这没什么意义......而且我是使用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
行......我不知道如何归档这个...
答案 0 :(得分:1)
你没有给出足够的信息来给出完整的答案,但我会尽力用你所给的。
表
+-----------------+ +-----------------+
| users_log_info | | posts |
+-----------------+ +-----------------+
| int ID (primary)| | int ID (primary)|
+-----------------+ | int posted_by |
+-----------------+
(我离开了与您似乎想要做的事情无关的字段,我只是简化它)
published_by是非官方的foreign key
,或引用另一个表的主键。
要插入,您可以做的就是:
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希望发布“Hi”,您可以这样做:
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
基本上,字段“posting_by”是“发布”任意数字,但您知道它链接或引用用户。它通过引用“ID”(这是users_log_info的主键)来实现,因此当您想从users_log_info获取信息时,您需要做的就是选择具有与“posting_by”对应的ID的条目。我建议将其命名为posterID
,以便于识别。