是否可以使用JSON将数据存储在mysql数据库中?

时间:2013-08-11 17:40:26

标签: php mysql sql json

我想为项目的每个规范存储值,但能够在不修改数据库结构的情况下随时间添加新规范。

最后要有一个PHP数组,它看起来像:

$vase['features'] = array('weight'=>10,'height'=>100);

但是几天之内谁能拥有五十把钥匙。

$vase['features'] = array('weight'=>10,'height'=>100,'price'=>12,'time'=>1821,...);

我通常只是在我的数据库中添加一个表,但我真的不认为添加几十列会这样做。

我想知道是否可以添加一个列'规范'来存储JSON数组?我的意思是,我很确定它可以解决这个问题,但有什么理由我不应该这样做或任何最佳解决方案吗?

3 个答案:

答案 0 :(得分:2)

如果这些是您不需要直接从数据库访问的字段,也不需要按照它们进行过滤(您需要非常确定),那么它就没问题了。如你所说,工作,但这实际上取决于你项目的细节。

例如价格可能会有问题,因为您可能希望能够轻松地按价格过滤(不是说您不能,但它不会像表那样直接)。

我这样做的方法如下:

  • 包含可以轻松扩展的功能列表的表
  • 一个表,其中包含内容(或产品)的ID,功能的ID以及功能的值。

通过这种小改编,您可以轻松地列出功能,按功能过滤,按功能分组等,并且仍然能够定义产品的结构。

答案 1 :(得分:0)

如果您不确定数据库表中的确切列数,那么最好将数据存储在JSON数组中。确保您不需要按任意顺序,分组,计数等来处理这些数据。查询

答案 2 :(得分:0)

您可以问自己的一个问题是:您是否需要对您的值进行操作,例如select,filter,join等?如果是,你不能使用json对象或序列化的php,应该创建另一个表。