我想为项目的每个规范存储值,但能够在不修改数据库结构的情况下随时间添加新规范。
最后要有一个PHP数组,它看起来像:
$vase['features'] = array('weight'=>10,'height'=>100);
但是几天之内谁能拥有五十把钥匙。
$vase['features'] = array('weight'=>10,'height'=>100,'price'=>12,'time'=>1821,...);
我通常只是在我的数据库中添加一个表,但我真的不认为添加几十列会这样做。
我想知道是否可以添加一个列'规范'来存储JSON数组?我的意思是,我很确定它可以解决这个问题,但有什么理由我不应该这样做或任何最佳解决方案吗?
答案 0 :(得分:2)
如果这些是您不需要直接从数据库访问的字段,也不需要按照它们进行过滤(您需要非常确定),那么它就没问题了。如你所说,将工作,但这实际上取决于你项目的细节。
例如价格可能会有问题,因为您可能希望能够轻松地按价格过滤(不是说您不能,但它不会像表那样直接)。
我这样做的方法如下:
通过这种小改编,您可以轻松地列出功能,按功能过滤,按功能分组等,并且仍然能够定义产品的结构。
答案 1 :(得分:0)
如果您不确定数据库表中的确切列数,那么最好将数据存储在JSON数组中。确保您不需要按任意顺序,分组,计数等来处理这些数据。查询
答案 2 :(得分:0)
您可以问自己的一个问题是:您是否需要对您的值进行操作,例如select,filter,join等?如果是,你不能使用json对象或序列化的php,应该创建另一个表。