似乎我不能在MYSQL表中使用JSON --在为字段选择数据类型时没有这样的选项-- phpMyAdmin ver 4.8.3。
问题--如果我使用php函数json_encode和json_decode来获取和设置varchar或text字段中的值,那么根本就需要JSON字段吗?
发布于 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以检查。
发布于 2018-12-26 19:56:43
可以将JSON对象存储为string字段中的字符串,也可以在保存JSON类型数据的字段中使用JSON对象
这是MySQL版本8的valide。
优势
您可以在这里阅读整个文档,JSON数据类型。
The Cons
如果选择使用VARCHAR或TEXT字段将JSON数据存储为字符串,则在从数据库中检索数据以使其表现为正确的JSON对象之后,应由您正确解析数据
发布于 2018-12-26 20:00:37
从MySQL 5.7.8开始,MySQL支持RFC 7159定义的原生JSON数据类型,它允许高效地访问JSON (JavaScript对象标记)文档中的数据。
检查您的MySQL版本,看看它是否支持JSON数据类型。
对你的问题的回答:
您可以json_encode数据并将其存储在text字段中。从数据库表检索它之后,执行一个json_decode。
https://stackoverflow.com/questions/53936451
复制相似问题