您现在的位置是:首页>文章详情

MySQL 查询 JSON数组格式字段

admin2020-12-16编程经验

简介最近用到了mysql5.7的json字段的检索查询,发现挺好用的,记录一下笔记 我们有一个日志表,里面的data字段是保存不同对象的json数据,遇到想根据里面的json的字段内容作为条件查询的情况

最近用到了mysql5.7的json字段的检索查询,发现挺好用的,记录一下笔记
我们有一个日志表,里面的data字段是保存不同对象的json数据,遇到想根据里面的json的字段内容作为条件查询的情况

mysql根据json字段的内容检索查询数据

  1. 使用 字段->'$.json属性'进行查询条件
  2. 使用json_extract函数查询,json_extract(字段,"$.json属性")
  3. 根据json数组查询,用JSON_CONTAINS(字段,JSON_OBJECT('json属性', "内容"))在这里插入图片描述

查询json数组里面对象的id等于142的记录

用JSON_CONTAINS(字段,JSON_OBJECT(‘json属性’, “内容”))

select * from log2 where JSON_CONTAINS(data,JSON_OBJECT('id', "142"))

 

在这里插入图片描述

ThinkPHP5.1 只能查询 Json格式 不能查询json数组格式

所以只能写原生SQL

//  approval 代表表字段  id表示 json字段 4表示值
SELECT * FROM zyy_portal_approval WHERE id = 1 AND json_contains(approval->'$[*].id','4')

编程经验

后端技术

旅行相册

常用工具

前端技术

网站源码

QQ技术教程

破解软件

人生杂记

服务器技术