我需要在mysql中存儲100-200個數據,這些數據會被管道分開..PHP MYSQL - 一列中有很多數據
任何想法如何將它存儲在mysql?我應該使用單個列還是應該製作多個列?我不知道有多少數據用戶會輸入。
我做了一個表格,它停在需要存儲多個數據的部分。
任何人都知道如何在單個列中存儲多個數據,或者有沒有其他方法?
請幫助我..
非常感謝你
我需要在mysql中存儲100-200個數據,這些數據會被管道分開..PHP MYSQL - 一列中有很多數據
任何想法如何將它存儲在mysql?我應該使用單個列還是應該製作多個列?我不知道有多少數據用戶會輸入。
我做了一個表格,它停在需要存儲多個數據的部分。
任何人都知道如何在單個列中存儲多個數據,或者有沒有其他方法?
請幫助我..
非常感謝你
您應該用數據源的ID實現您的表。這個ID將被用來分組所有這些相似的數據,所以你不需要知道你有多少事先知道。
你的表列和數據可以設立這樣的:
sourceID data
-------- ----
1 100
1 200
1 300
2 100
3 100
3 200
當你查詢數據庫,你可以拉中的所有數據具有相同的sourceID。使用上面的數據,以下查詢將返回兩個數據。
SELECT data
FROM dataTable
WHERE sourceID = 3
如果你有多個表,你需要將它們互相利用JOIN
語法關聯。假設您有一個包含用戶數據的主表,並且您想將所有這些輸入數據與每個用戶相關聯。
userID userName otherData
------ -------- ---------
1 Bob xyz
2 Jim abc
3 Sue lmnop
如果你想從這個表(用戶表),從數據表的數據連接數據,使用這樣的查詢:
SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1
該查詢會給你所有的數據的用戶ID爲1.這假定數據表中的sourceID使用用戶表中的userID來跟蹤額外數據的屬性。
請注意,這不是SQL中唯一的JOIN語法。您可以瞭解其他類型的連接here。
如果您擁有的這個數據是從哪裏來的形式,從表單每個輸入存儲到它自己單獨的列。
尋找在您的數據關係:聽起來你有一個「有很多」關係這表明你可能需要一個鏈接表,你可以做一個簡單的連接查詢......
在一個單一的存儲多個數據列將是一個噩夢的查詢和更新,除非你存儲的XML,事件然後它會給我做惡夢...
聽起來像你需要一個連接表。在兩個表中只需要你需要的數據,用兩個表的ID創建第三個表,然後無論你需要100,200,300還是更多,都無關緊要。