如何定义一个表来存储 MySQL 数据库中的 JSON 对象?

Posted

技术标签:

【中文标题】如何定义一个表来存储 MySQL 数据库中的 JSON 对象?【英文标题】:How to define a table to store JSON objects in MySQL database? 【发布时间】:2017-06-12 02:06:11 【问题描述】:

我想在 mysql 数据库中存储一个 JSON 对象(使用 xampp 和 mariadb)。要存储的数据类型应该是什么?如果使用 'json' 作为数据类型,则会出错。

【问题讨论】:

什么是 MariaDB 版本? 没有“json 对象”这样的东西。 JSON 是一个字符串,它是一种将任意数据表示为字符串的格式。因此,您只需在关系数据库中使用 varchartext 类型。 嗨@arkascha,你可能想看看dev.mysql.com/doc/refman/5.7/en/json.html 但是,正如 arkascha 所说,JSON 数据类型在 MariaDB 中还不是一个东西,但是 MySQL 支持 RiggsFolly 提到的 “从 MySQL 5.7.8 开始,MySQL 支持原生 JSON 数据类型”:dev.mysql.com/doc/refman/5.7/en/json.html 【参考方案1】:

解决办法是把json转成字符串保存为文本,从数据库中检索后重新转成json

【讨论】:

【参考方案2】:

参考这个...这可能会有所帮助!

https://www.sitepoint.com/use-json-data-fields-mysql-databases/

P.S: 与 mysql 或 mariaDB 相比,Postgres 具有更好的存储 json 数据的功能

【讨论】:

以上是关于如何定义一个表来存储 MySQL 数据库中的 JSON 对象?的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询在MySQL中创建一个表来存储tweet

如何加密 MySQL 表中的特定列?

使用 Doctrine ORM 如何从自己的表中获取一个表来存储记录?

MySQL的视图

mysql索引事务与存储引擎

mysql view