2015-06-08 38 views
1

因此,首先我不確定這是否是雙重帖子,因爲我不知道如何調用確切的方法或功能,以及它是否存在。MySQL錶鏈接1:n

我知道MySQL有一個名爲joints的功能我的計劃是鏈接關係1中的兩個MySQL表:n一個是t_user另一個t_event。

T_USER:

CREATE TABLE t_user (
    uId INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    name VARCHAR(25) NOT NULL, 
    ... 
) 

t_event:

CREATE TABLE t_event (
    eId INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    name VARCHAR(40) NOT NULL, 
    date DATETIME NOT NULL, 
    members ???, 
    ... 
) 

我希望用戶 「訂閱」 的事件,並獲得存儲在members列的列表(?)。如果只有一個用戶訂閱一個事件,這將是沒有問題的。但我不知道如何設置t_event表來存儲多個用戶以及如何查詢用戶「訂閱」的所有事件。

+0

只是一句話:聯接(沒有尾隨t)爲關係型數據庫的基礎,基本上是什麼讓他們的關係。我不會將它描述爲* MySQL *功能;-) –

回答

1

這通常是通過第三個表來完成:

CREATE TABLE t_eventsusers (
    eId INT(6), 
    uId INT(6) 
) 
+0

好的..我會嘗試它(我希望有這樣做的更優雅的方式) – TheTrueFreeStyle

+0

@TheTrueFreeStyle - 你可能想要像逗號分隔的字符串在單個單元格中。那將是不雅的做法! –

+0

@ÁlvaroG.Vicario^^可能,但我喜歡JSON格式的數組:/所以我尋找一種方法來實現某事。像那樣。 – TheTrueFreeStyle