n00b mysql问题:
如果我有一个包含所有最终用户名和Id的表,并且我想跟踪每个用户的连接,那么每个最终用户是否应该拥有自己的表?
e.g。
最终用户A连接到用户B,用户C和用户D;应该有一个单独的表,只为用户A,有一个列表:
User B | 84746
User C | 94837
User D | 03265
答案 0 :(得分:1)
不,请使用一张桌子。这就是数据库的用途:-) 否则,您将获得大量的表(如果您有很多用户)。即使你不期望很多用户,也不是那种方式。
答案 1 :(得分:1)
我强烈反对它 - 不要创建需要查询结果的多个表(例如来自(CONCAT(...))
的SELECT *)。而是创建一个映射最终用户及其连接的表:
id (primary key) | endUser | connectedUser | connections
---------------------------------------------------------
1 | User A | User B | 84746
2 | User A | User C | 94837
3 | User A | User D | 03265
索引endUser列以便更快地访问,您应该设置。
答案 2 :(得分:1)
我不知道你怎么可能管理可变数量的表,但你会失去所有关系。您应该为关系添加一个表:
CREATE TABLE Relationships (
userOwnerID,
userFriendID
);