如何避免將用戶數組存儲在一個字段中?我有一個會話表,其中有一個字段,其中包含加入會話的用戶id(joinusers_id)。我應該如何處理插入它們?簡單的方法是用逗號分隔它們,但我想這不是最有效的方法。附上的是我目前執行會話表的截圖: 替代將數組存儲在Mysql數據庫的單個字段中
0
A
回答
1
好吧,我們正在談論數據庫和規範化。
http://en.wikipedia.org/wiki/Database_normalization
不,請不要使用非原子領域,它是壞的,你會得到的麻煩,如果你想加入這樣的非原子領域。
我建議你這樣做:
你有用戶,所以請創建一個包含所有屬於用戶的事情用戶表。 用戶表需要主鍵:user_mailaddress
你有會話,創建一個會話表 ...主鍵:SESSION_ID
現在創建一個表USER_SESSION,該表有兩個屬性(列)user_mailaddress和session_id使用此表您可以將兩個表連接在一起。
SELECT *
FROM user
NATURAL_JOIN user_session
NATURAL_JOIN session
自然連接將加入表中,其中屬性的屬性和內容是可比較的。
注意:表用戶和會話被稱爲實體。表user_session被稱爲關係。所以這被稱爲實體關係模型。 =>http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model
要更深入閱讀: https://www.stat.auckland.ac.nz/~paul/ItDT/HTML/node42.html
+0
非常感謝。這樣可行。 – Andrey 2014-11-23 00:46:31
相關問題
- 1. 在一個字段中存儲多個數據(將數據存儲在數據庫的數組中)
- 2. 將數組數組存儲在數據庫字段
- 3. 將數組值存儲在單列MySQL數據庫中
- 4. 將數據保存爲數組或單個字段(php/MySQL)
- 5. 如何將php數組數據存儲到mysql數據庫中
- 6. 將MySQL代碼存儲在mysql數據庫中
- 7. 從數組中的數據庫中存儲字段c#
- 8. 將數組存儲在MySQL數據庫中
- 9. PHP/MySQL - 將數組存儲在數據庫中
- 10. 如何將數組值存儲在MySQL數據庫中
- 11. 使用MySQL和PHP將數據存儲在MySQL數據庫中
- 12. 從數據庫字段存儲數組中的行
- 13. 排序存儲在MYSQL數據庫的文本字段中的數字
- 14. 在mysql數據庫中存儲簡單的數據
- 15. 用於替代在單個MySQL字段中存儲陣列的表結構
- 16. 存儲在MySQL數據庫
- 17. 將代碼片段存儲在數據庫中
- 18. 將多個值存儲在MySQL數據庫中的單個coloumn中?
- 19. 如何將一組布爾值存儲在MySql數據庫中?
- 20. mysql,如何將數組中的值存儲爲字段值?
- 21. 將數據存儲在數組中 - 然後迭代該數組
- 22. 如何將字段從MySQL數據庫存儲爲PHP中的字符串?
- 23. 檢索存儲在數據庫INT字段中的字節數組
- 24. 存儲在MySQL數據庫中的BLOB
- 25. 在MySQL數據庫中存儲數組的最佳方法?
- 26. 在數據庫字段中存儲一個ID的哈希值?
- 27. 將數據存儲到json字段中
- 28. 將數組存儲到SQLite數據庫
- 29. 如何將html數據存儲在mysql數據庫中?
- 30. 將圖像數據存儲在MySQL數據庫中?
請解釋更多。不能夠得到你,爲什麼你想加入會議? – Akilan 2014-11-21 04:56:15
爲什麼不用'session_id'和'user_id'來創建表格? – 2014-11-21 05:13:43
如果您想讓用戶更改郵件地址,請使用@Jack的建議並使用主鍵user_id。 – 2014-11-23 12:02:47