我想要在包含多个条目的数据库中有一列。是否有必要将列的类型定义为数组(固定大小的数组或某些动态集合),以便它可以存储多个条目。如何将数据库的字段设置为数组?
0
A
回答
2
如果你需要不同的值存储在一起,在一个单一的领域,那么你很可能会成为最好关闭它们存储作为值的分隔符分隔字符串:
+----------------------------------+ | PRODUCTS | +----------+-----------------------+ | Product | Colors | +----------+-----------------------+ | Notebook | blue,red,green,orange | +----------+-----------------------+
这通常是不你想要什么。一般来说,创意解决方案是在表格之间建立关系。例如:
+---------------+ | PRODUCT | +----+----------+ | ID | Product | +----+----------+ | 1 | Notebook | +---------------+ +---------------+ | COLORS | +----+----------+ | ID | Color | +----+----------+ | 1 | Blue | +---------------+ | 2 | Red | +---------------+ | 3 | Green | +---------------+ +---------------------+ | PRODUCTCOLORS | +-----------+---------+ | ProductID | ColorID | +-----------+---------+ | 1 | 1 | Notebook, Blue +-----------+---------+ | 1 | 3 | Notebook, Green +-----------+---------+
1
是,在一个典型的关系型设计,你将有一个1:N(1对多)1台和彼此之间的关系。第一个表中的每一行代表一个集合,第二个表中的每一行都是集合中的一个元素,并引用第一个表。
一个逗号分隔的列表,序列化,或URL编码的字符串也是一个不错的解决方案,其他的答案指出...
0
没有,但你使用的是什么服务器端语言?
如果使用PHP,您可以使用
$serializedArray = serialize($myArray);
然后将该值插入数据库。为了让它恢复使用,请使用unserialize()
;
0
这几乎与上面的答案相同(使用分隔字符串),但您也可以将该文本保存为XML。根据您使用的数据库,这可能很简单或乏味。
正如上面指出的那样,您显然已经失去了能够从数据库层(轻松地)管理数据完整性的任何方面。
相关问题
- 1. 如何将数据库中的值设置为文本字段
- 2. Django将数据从数据库设置为字段
- 3. Delphi数据库:在运行时设置ADT字段的数组
- 4. 将数组导入数据库字段
- 5. 如何设置belongs_to字段为零在ActiveRecord数据库(RoR)
- 6. 如何使用jQuery将值设置为数组文本字段
- 7. 将DateTime数据库字段设置为“Now”
- 8. 打开Access数据库表并将光标设置为字段
- 9. 按数据库列设置类字段
- 10. 如何使用nhibernate将数据库字段设置为服务器时间
- 11. 如何将数据库字符串值设置为null?
- 12. 如何将unicode字符设置为数据库
- 13. 将数组中的随机值设置为数据库
- 14. 如何在数组中设置Firebase数据库中的数据?
- 15. 绑定数据文本字段,将数据值字段设置为asp:Dropdownlist
- 16. 如何将数组维数设置为长数字
- 17. 如何将多个可重复字段保存为数据库中的数组?
- 18. 将数组数组存储在数据库字段
- 19. JSF。如何将JavaScript函数的值设置为Bean的字段?
- 20. Rails没有为数据库中的文本字段设置NULL?
- 21. CakePHP的 - 当数据库字段设置为1
- 22. 如何将数组设置为ListCtrl
- 23. 如何将String数组设置为TextView?
- 24. 如何将ImageIcon设置为JLabel数组?
- 25. 将选项设置为Mongoose模式中的数组字段
- 26. 如何设置从数据库查询HTML输入字段值
- 27. 如何将数组的长度设置为同一个类中的字段值?
- 28. 将数据库记录设置为jtextfield
- 29. 将CakePHP会话设置为数据库
- 30. 将jtextfield设置为数据库结果
你已经回复了一个很好的细节。你给了我宝贵的一部分时间来回复我。非常感谢。 – 2010-01-14 07:07:56