php - 可以使用 JSON 将数据存储在 mysql 数据库中吗?

标签 php mysql sql json

我想存储某个项目的每个规范的值,但能够随着时间的推移添加新的规范,而无需修改我的数据库结构。

最终会有一个 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/

相关文章:

php - Symfony2 和 Twig 中的多语言

MySQL触发器以某种方式导致提交

MYSQL引用另一个表字段

sqlite 查询用合法的回车替换隐藏/不可见的回车

sql - 如何在select语句中使用索引?

php - 包含数据的可点击 HTML 表格能够在点击时显示更多数据

php - 是否可以在 laravel 中使用 "hasMany"关联同一张表?

php - 如何编写mysql查询?

mysql - 如何使用 xslt 将默认的 mysql modtimes 转换为 UTC 日期时间

mysql - 通过 SQL 枚举组合