我目前在MySQL中有一个正常存储值的表,但是我想在该表中添加一个字段来存储一组值,比如cities。我应该简单地将该数组存储为CSV吗?每一行都需要它自己的数组,所以我对创建一个新的表并为前一个表中插入的每一行插入2-5行感到不安。
我觉得这种情况应该有个名字,我就是想不起来:)
编辑
元素数量- 2-5 (从动态城市列表中选择,数组引用列表,该列表是一个表)
这个字段不需要是可搜索的,只需与其他数据一起检索即可。
发布于 2009-04-17 16:41:44
“正确”的方法是使用另一个表来保存每个值,但由于您不想走这条路,因此应该使用分隔列表。只需确保您选择的分隔符不会出现在数据中。您还可以将数据存储为XML,这取决于您计划如何与数据交互,这可能是一种更好的方法。
发布于 2009-04-17 16:44:19
我建议使用包含逗号(或其他逻辑分隔符)分隔值的字段。只需确保您的字段足够大,可以容纳最大数组大小。然后,当您提取字段时,应该很容易使用分隔符对长字符串执行explode(),这将立即在代码中填充您的数组。
发布于 2009-04-17 16:44:07
也许你要找的词是"normalize“。与中一样,将数组移动到一个单独的表中,该表通过键链接到第一个表。这提供了几个优点:
在不使用“indefinitely
当然,决定是否对此数据进行标准化取决于许多您没有提到的因素,比如元素的数量、数量是否固定、元素是否需要可搜索等等。
https://stackoverflow.com/questions/761170
复制相似问题