我正在制作评论系统。您必须登录您的帐户才能对某些内容发表评论。每个用户都有自己的数据库,即用户名。在数据库中,它们是存储信息的表。例如,将有一个“约”表和一个“活动”表。这是设置数据库的最佳方法吗?它甚至安全吗?请帮忙。
答案 0 :(得分:0)
使用单个数据库的问题是什么?想一想,当有超过一千个用户时,您将拥有多少个数据库。
使用单个数据库可以保存设置所有碎片数据库的每个连接。您提及的那些表(关于和活动)可以使用用户ID保存单个用户的所有信息(如果您使用外键)。
猜猜一个好的开始就是(我只是把"基本字段",随意添加你想要的东西):
TABLE Users (userid, pass)
TABLE Post (postid)
TABLE Comment (commentid, comment, score, userid, postid)
答案 1 :(得分:0)
您不希望每个用户使用一个数据库,您希望在表中使用userid列。
CREATE TABLE about (
userid INT(11) NOT NULL PRIMARY KEY,
about_text TEXT
);
并且您希望使用userids而不是用户名来允许在将来更改或更正用户名而不会影响很多表。您的users表将userid映射到用户名:
CREATE TABLE users (
userid INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL
);
CREATE TABLE comments (
userid INT(11) NOT NULL PRIMARY KEY,
message_heading VARCHAR(100) NOT NULL DEFAULT '',
message_body TEXT NOT NULL,
created TIMESTAMP DEFAULT NOW()
);
等等。