将 JSON 数据存储在 MySQL 表行中是否可以接受?我需要将数组存储在 mysql 数据库中。问题是,我不知道每个用户需要多少列。所以我想将 JSON 存储在以示例命名的一行array
中。这是最好的方法吗?
编辑:
另外,我使用text
的是表格列类型。
是的,使用 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 ...
。
在关系数据库字段中存储多条数据通常是错误的。可以考虑可以接受的情况,但不能用于存储整个用户。
如果使用关系数据库结构还不够,您可能需要查看 NoSQL 数据库而不是 MySQL。
这算不上问题。mySQL 已经可以处理其文本字段中的大多数括号和时髦字符。
我认为不是。四个月后,您决定为您的实体添加一个新属性或从您的实体中删除一些属性呢?您将如何解析旧的 json 内容?如果您不知道表中需要多少列,您应该以不同的方式思考,并可能创建一个动态结构,例如使用 user_column 表