9

将 JSON 数据存储在 MySQL 表行中是否可以接受?我需要将数组存储在 mysql 数据库中。问题是,我不知道每个用户需要多少列。所以我想将 JSON 存储在以示例命名的一行array中。这是最好的方法吗?

编辑:

另外,我使用text的是表格列类型。

4

4 回答 4

12

是的,使用 mysql 作为键值存储是一个非常好的主意,事实上 facebook 确实有一些用途。

CREATE TABLE `json` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `data` blob NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

上面的表格结构会让你走得更远。分片或集群非常容易。

编辑:这里的重点是使用 PHP、Ruby 等来处理 json/data。你做SELECT ...,做你的编辑,然后INSERT ... ON DUPLICATE KEY UPDATE ...

于 2013-03-13T20:04:52.460 回答
2

在关系数据库字段中存储多条数据通常是错误的。可以考虑可以接受的情况,但不能用于存储整个用户。

如果使用关系数据库结构还不够,您可能需要查看 NoSQL 数据库而不是 MySQL。

于 2013-03-13T20:06:49.607 回答
0

这算不上问题。mySQL 已经可以处理其文本字段中的大多数括号和时髦字符。

于 2013-03-13T20:03:23.827 回答
0

我认为不是。四个月后,您决定为您的实体添加一个新属性或从您的实体中删除一些属性呢?您将如何解析旧的 json 内容?如果您不知道表中需要多少列,您应该以不同的方式思考,并可能创建一个动态结构,例如使用 user_column 表

于 2013-03-13T20:05:30.547 回答