Closed. This question needs to be more focused。它目前不接受答案。
想改进这个问题吗?更新问题,使其只关注一个问题editing this post
5年前关闭。
我想找一些关于这方面的信息,但我不知道在哪里找,也不知道如何表达。
我有一个简单的应用程序来学习PHP。但是,整个应用程序是特定于用户的(您可以登录查看自己的帖子)。
我应该在哪里存储用户数据和post数据?例如,我需要存储post_title, post_content, post_id, post_time, post_status,用户将拥有user_name, user_password, user_email
这些应该放在单独的桌子里,还是放在一起?存储这种数据的常用方法是什么?

最佳答案

您需要将详细信息保存在单独的用户表中。

User ID | User Name | Full Name | Email Address

User ID字段是唯一的。现在您需要将帖子存储在另一个表中:
Post ID | Post Subject | Post Content | Post Time | Post Status | Author

这个Author是外键,应该与Users表的User ID字段链接。这叫做关系数据库。关系可以这样建立:
如果您在该表中看到,User IDPost ID是唯一的键。它们被称为主键,这意味着每一行都由该值标识。另外,使用此选项的主要原因是,为了避免用户值之间的冗余,而且还节省了大量占用的空间。:)
其SQL为:
CREATE TABLE Users (
    `User ID` int PRIMARY KEY,
    `User Name` varchar(255),
    `Full Name` varchar(255),
    `Email Address` varchar(255)
);

INSERT INTO Users (
  `User ID`, `User Name`, `Full Name`, `Email Address`
) VALUES (
  NULL, 'Username', 'Full Name', 'email@gmail.com'
);

CREATE TABLE Posts (
  `Post ID` int PRIMARY KEY,
  `Post Subject` varchar(255),
  `Post Content` TEXT,
  `User ID` int
);

INSERT INTO Posts (
  `Post ID`, `Post Subject`, `Post Content`, `User ID`
) VALUES (
  1, 'Hello World', 'Hello World', 1
);

09-10 08:54
查看更多