我想存储某个项目的每个规范的值,但能够随着时间的推移添加新的规范,而无需修改我的数据库结构。
最终会有一个 PHP 数组,如下所示:
$vase['features'] = array('weight'=>10,'height'=>100);
但是谁可能在几天内拥有五十把 key 。
$vase['features'] = array('weight'=>10,'height'=>100,'price'=>12,'time'=>1821,...);
我通常只会在数据库中添加一个表,但我真的不认为添加几十列就可以做到这一点。
我想知道是否可以添加“规范”列来存储 JSON 数组?我的意思是,我很确定它会成功,但是有什么理由我不应该这样做或有什么最佳解决方案吗?
最佳答案
如果这些字段您不需要直接从数据库访问,也不需要通过它们进行过滤(您需要对此非常确定),那么就可以了。正如您所说,它会工作,但这实际上取决于您项目的具体情况。
例如,价格可能会出现问题,因为您可能希望能够轻松地按价格进行过滤(并不是说不能,但它不会像表格那样直接) )。
我的做法如下:
- 包含可轻松扩展的功能列表的表格
- 包含内容(或产品)ID、功能 ID 以及功能值的表格。
通过这一小小的调整,您可以轻松列出功能、按功能过滤、按功能分组等,并且仍然能够在以后定义产品的结构。
关于php - 可以使用 JSON 将数据存储在 mysql 数据库中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18174790/