我有一個註冊頁面,用戶可以在其中註冊他/她自己以及其他20個人。現在我可以保存所有這些值,我的問題是如何在表中識別。所以,讓我們說約翰註冊自己和他的20個朋友。在表格中,我會給他和他的團隊貼上ID號爲1的標籤,但我會用明星來標記他的ID,所以我知道他是註冊其他人的人。多個條目到Mysql
這就是我想要得到的想法,但我不知道如何在實踐中這樣做。什麼是最好的方式,我該如何去做這件事?我認爲我可以編寫代碼,但我只是需要一些概念來解決問題。
我有一個註冊頁面,用戶可以在其中註冊他/她自己以及其他20個人。現在我可以保存所有這些值,我的問題是如何在表中識別。所以,讓我們說約翰註冊自己和他的20個朋友。在表格中,我會給他和他的團隊貼上ID號爲1的標籤,但我會用明星來標記他的ID,所以我知道他是註冊其他人的人。多個條目到Mysql
這就是我想要得到的想法,但我不知道如何在實踐中這樣做。什麼是最好的方式,我該如何去做這件事?我認爲我可以編寫代碼,但我只是需要一些概念來解決問題。
有點難以完全準確,但也許登錄用於註冊的IP,然後你就會知道從該IP有多少帳戶進來。
如果添加一個RegisteredByID列,如果它是NULL,那麼它們會被註冊,然後很容易找到該組。
這可能是什麼@Adrian在說的DUP,但我真的不理解他,所以......
當約翰註冊,他得到一個user_ID的,對不對?
爲表registrar_id添加一列。
對於其他20個用戶記錄,將John的user_id放在registrar_id列中。
您可以爲此創建三個表格。其中包含所有用戶的所有記錄的UserList
。 GroupList
其中包含所有組和組的所有者。最後PersonGroup
其中包含user_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_ID和Group_ID字段中使用主鍵。 –