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