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

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

【问题讨论】:

  • 我会选择TEXT

标签: mysql json sqldatatypes


【解决方案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
猜你喜欢
  • 2020-06-07
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
  • 2014-03-12
  • 2019-02-09
相关资源
最近更新 更多