首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json数据字段和php json函数

json数据字段和php json函数
EN

Stack Overflow用户
提问于 2018-12-26 19:45:55
回答 3查看 420关注 0票数 0

似乎我不能在MYSQL表中使用JSON --在为字段选择数据类型时没有这样的选项-- phpMyAdmin ver 4.8.3

问题--如果我使用php函数json_encodejson_decode来获取和设置varchartext字段中的值,那么根本就需要JSON字段吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-26 19:58:15

是的,除非您不想对那些json字符串的键值执行搜索。除了以高效的方式存储Json之外,json还允许您这样做。

您可以使用blob或文本类型。除非json的长度小于255个字符,否则chars对json来说太短。

一小块可能是个好主意。您可以将其映射到php中的资源(没有将整个文件加载到内存中),然后使用json流解析器就像这个读取文件的内容。

但是,将json存储为字符串将不允许您高效地使用json数据进行查询。

注意: Mysql支持5.7.8中的Json类型。PhpMyAdmin是另一款软件。如果您的json类型不存在,可能是因为您的MySQL版本。在您的终端中运行mysql -V以检查。

票数 0
EN

Stack Overflow用户

发布于 2018-12-26 19:56:43

可以将JSON对象存储为string字段中的字符串,也可以在保存JSON类型数据的字段中使用JSON对象

这是MySQL版本8的valide。

优势

  1. 这种类型的优点是它对存储在JSON列中的JSON文档执行自动验证,无效文档会产生错误。
  2. 优化存储格式。存储在JSON列中的JSON文档转换为允许快速读取文档元素的内部格式

您可以在这里阅读整个文档,JSON数据类型

The Cons

如果选择使用VARCHARTEXT字段将JSON数据存储为字符串,则在从数据库中检索数据以使其表现为正确的JSON对象之后,应由您正确解析数据

票数 0
EN

Stack Overflow用户

发布于 2018-12-26 20:00:37

根据正式文件

从MySQL 5.7.8开始,MySQL支持RFC 7159定义的原生JSON数据类型,它允许高效地访问JSON (JavaScript对象标记)文档中的数据。

检查您的MySQL版本,看看它是否支持JSON数据类型。

对你的问题的回答:

您可以json_encode数据并将其存储在text字段中。从数据库表检索它之后,执行一个json_decode

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53936451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档