在一个mysql条目中存储数组/列表

时间:2016-12-11 08:23:09

标签: php mysql arrays list

我正在开发一个需要MySQL数据库的项目。

该项目是一个测验/研究网站,它需要存储用户登录数据,然后存储他们已保存的测验列表,以及他们保存的每个测验的每个问题的分数。所以说我们有用户1.我想去一个名为" user_content"然后能够看到他们保存了哪些测验以及这些测验的分数。

quizes将在一个唯一的数据库中生成,并通过外键引用。

问题是,我希望" user_content"中包含固定数量的列。部分,所以我只需要一个列,其中包含用户已保存的quizes的所有外键。我不想要一个你有专栏的系统" quiz-1"和"测验2"有没有办法只有一列存储所有测验外键的列表或数组?将用户的分数存储到他们喜欢的测验中同样如此,我想要一个单独的列来存储他们所有分数的数组/列表。这在MySQL中是否可行?实现这一目标的最佳方法是什么? (这是使用php,而不是javascript)

1 个答案:

答案 0 :(得分:0)

因此,在评论中,这可以在定义良好的RDBMS结构中完成,例如:用于测验ID的表,然后是每个测验外键的行项目条目,返回到测验ID表。

要回答您的问题,您可以将数组作为json存储到MySQL数据库中,方法是将PHP数组传递到json_encode(),然后将其插入MySQL字段。从长远来看,这可能会影响编写查询时的性能和灵活性。您必须在PHP中运行json_decode()以恢复阵列的结构。但这可以解决问题的要求。