MySQL - 在表中存储字符串数组

时间:2017-05-27 06:17:25

标签: mysql arrays

我有一张表格,每行数据代表一部电影的放映事件,作为图片库显示给用户。

数据字段为:

id mainImage movie venue location date

每次筛选活动均为:

  • 一个movie
  • 一个venue
  • 一个location
  • 在一个date

.. mainImage中的字符串是表示图库中第一个图像的图像的URL。

我正处在一个十字路口,我应该如何在每次放映中包含其余图像。我可以想到两条可能的路线:

  1. 添加一个新的列imageArray,它是一个字符串数组,每个字符串都是来自同一个筛选的图像的URL。这些不必按任何特定顺序排列,所以我觉得这可能是一个非常好的选择。但这是做这样的事情的正确方法吗?
  2. 创建仅包含图片网址的单独表格,并以某种方式将它们加入此表格?这似乎是不必要的复杂,但是这样做会是这样吗?
  3. ..或者这种事情会以其他方式完成吗?

1 个答案:

答案 0 :(得分:1)

我认为您的数据非常适合以下两个表格:

event
id | movieId | venue | location | date

images
id | movieId | imageId | imageURL

这里event表与您原来的表大致相同。但是,我创建了一个单独的表来包含与每部电影相关联的图像。

这只是一个建议,您的实际表定义可能需要更多信息。但需要明确的是,考虑为每个图像URL添加更多可能是个坏主意。原因是您可能不知道将来需要多少个URL。向表中添加更多列是一件很麻烦的事情,但我建议在表中添加更多行相对容易。