在mysql(5.6)数据库中存储json数组的数据类型[关闭]

Posted

技术标签:

【中文标题】在mysql(5.6)数据库中存储json数组的数据类型[关闭]【英文标题】:what data type to store a json array in mysql (5.6) database [closed] 【发布时间】:2017-03-24 03:28:38 【问题描述】:

在 json 数据类型不可用的 mysql 5.6 版中,我应该使用什么数据类型来存储 json 编码数组?到目前为止,我正在考虑将其存储为 TEXT 或 VARCHAR。这是我们必须存储的方式吗?

【问题讨论】:

我会选择TEXT 【参考方案1】:

您可以使用文本数据类型将 JSON 数据存储在 MySQL 数据库中。

【讨论】:

对于 5.7 之前的 MySQL,对吧?无论如何,谢谢。 “不得不”太强了。 OP不必;他们可以使用 VARCHAR、TEXT、MEDIUMTEXT、LONGTEXT,甚至是 BLOB 类型。【参考方案2】:

这取决于您要存储的 JSON 数据的长度。如果不是太长,你可以使用 VARCHAR,但是这样你有 64K 的限制:

手册说:长度可以指定为 0 到 65,535 之间的值。 VARCHAR 的有效最大长度取决于最大行大小(65,535 字节,所有列共享)和使用的字符集。

因此,如果您希望拥有巨大的对象,请使用任何 TEXT 类型:

TEXT: 65,535 characters - 64 KB 
MEDIUMTEXT: 16,777,215 - 16 MB 
LONGTEXT: 4,294,967,295 characters - 4 GB 

不过,从 Mysql 5.7.8 开始,您就可以使用原生 JSON 数据类型了。

【讨论】:

JSON 于 2015 年 8 月发布 5.7.8。 TINYTEXT:255 个字符 - 255 B 文本:65,535 个字符 - 64 KB 中文本:16,777,215 - 16 MB 长文本:4,294,967,295 个字符 - 4 GB

以上是关于在mysql(5.6)数据库中存储json数组的数据类型[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5.6批量插入json数据

如果包含 json 文档作为字符串,如何从 MySQL(5.6) 列中获取值

PHP/MySQL - 将数组数据存储为 JSON,不好的做法?

获取mysql中的多条记录并存入json数组中显示在HTML表格单单字段中

Mysql存储JSON字符串(数组)的操作

在 MySQL 数据库中存储 JSON? [复制]