如何避免将用户数组存储在一个字段中?我有一个会话表,其中有一个字段,其中包含加入会话的用户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