Mysql的多个条目

Mysql的多个条目,mysql,phpmyadmin,registration,Mysql,Phpmyadmin,Registration,我有一个注册页面,用户可以注册他/她和其他20个人。现在我可以很好地存储所有这些值,问题是如何在表中标识。假设约翰登记了自己和他的20个朋友。在表格中,我会给他和他的团队贴上ID号为1的标签,但我会给他的ID贴上一个星号,这样我就知道他是注册其他人的人 这正是我想要表达的想法,但我不知道在实践中如何做到这一点。最好的方法是什么?我如何真正做到这一点?我想我可以写代码,但我只需要一些概念就可以了。要完全准确,有点困难,但是,可能需要记录用于注册的ip,然后您就可以大致知道有多少帐户来自该ip。如果

我有一个注册页面,用户可以注册他/她和其他20个人。现在我可以很好地存储所有这些值,问题是如何在表中标识。假设约翰登记了自己和他的20个朋友。在表格中,我会给他和他的团队贴上ID号为1的标签,但我会给他的ID贴上一个星号,这样我就知道他是注册其他人的人


这正是我想要表达的想法,但我不知道在实践中如何做到这一点。最好的方法是什么?我如何真正做到这一点?我想我可以写代码,但我只需要一些概念就可以了。

要完全准确,有点困难,但是,可能需要记录用于注册的ip,然后您就可以大致知道有多少帐户来自该ip。

如果注册的是空的,那么添加一个RegisteredByID列如何,然后很容易找到该组。

这可能是@Adrian所说的重复,但我并不真正理解他的意思,所以

当John注册时,他会得到一个用户id,对吗

向表中添加一列以获取注册者id


对于其他20条用户记录,请将John的用户id放入“注册者id”列。

您可以为此创建三个表。
用户列表
,其中包含所有用户的所有记录。
GroupList
,其中包含所有组和组的所有者。最后是
PersonGroup
,它包含用户id和某个用户所属的组

CREATE TABLE UserList
(
    ID INT AUTO_INCREMENT,
    FullName VARCHAR(50),
    -- ... other columns if you want ...
    CONSTRAINT ul_pk PRIMARY KEY (ID),
    CONSTRAINT ul_uq UNIQUE (FullName)
);

CREATE TABLE GroupList
(
    ID INT AUTO_INCREMENT,
    GroupName VARCHAR(25),
    OwnerID INT,
    -- ... other columns if you want ...
    CONSTRAINT gl_PK PRIMARY KEY (ID),
    CONSTRAINT gl_UQ UNIQUE(GroupName),
    CONSTRAINT gl_FK FOREIGN KEY (OwnerID) REFERENCES UserList(ID)
);

CREATE TABLE PersonGroup
(
    RecordID INT AUTO_INCREMENT,
    User_ID INT,
    GROUP_ID INT,
    CONSTRAINT pg_PK PRIMARY KEY (RecordID),
    CONSTRAINT pg_uq UNIQUE (User_ID, GROUP_ID),
    CONSTRAINT pg_FK1 FOREIGN KEY (User_ID) REFERENCES UserList(ID),
    CONSTRAINT pg_FK2 FOREIGN KEY (GROUP_ID) REFERENCES GroupList(ID)
);

PersonGroup.RecordID字段是多余的。您只需在User\u ID和Group\u ID字段上输入一个主键。