问题标签 [mysql-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2942 浏览

mysql - 如何从 MySQL 中的数字键嵌套 JSON 字段中提取值

我有一个带有 JSON 列的 MySQL 表,名为sent. 列中的条目具有如下信息:

我正在尝试使用 mysql 查询:

但我得到一个例外:

知道如何提取信息吗?该查询适用于非数字子字段。

0 投票
0 回答
2051 浏览

mysql - MySQL 8:JSON_TABLE 不工作

在 MySQL 8.0.4 及更高版本中,有一个名为“ JSON_TABLE ”的函数。

我尝试了官方 mysql 文档中的示例,但 JSON_TABLE 返回了错误:

错误 1142 (42000): SELECT 命令拒绝用户 'test'@'127.0.0.1' 用于表 'json_table'

此 sql 语句在mysql docker container (latest)中执行。

有谁知道为什么 JSON_TABLE 不起作用?

0 投票
1 回答
369 浏览

mysql - 从 MySQL 读取时从 JSON 数组的每个 JSON 对象中过滤掉不需要的字段

假设我的 MySQL 数据库中有一个表,其中包含 JSON 类型的列之一,并且我已将以下 JSON 保存在其中一个记录中

有什么方法可以提取以下内容吗?

$.info[*]给我这个

$.info[*].sex分别$.info[*].age给我这些

我想我也可以通过以下方式工作,但我不知道如何

原始问题上下文

我目前使用的应用程序在 MySQL 数据库中保存了一些 JSON 内容。此 JSON 可能具有某些字段,其值是巨大的 Base64 编码图像。有时我的客户并不关心获取这些 Base64 编码的图像。因此,为了提高性能,减少从数据库传输到我的应用程序的数据并避免在应用程序端进行处理,我想检索不涉及存储这些巨大图像的 JSON 数组的每个 JSON 对象元素中的所有字段信息。

我当前的实现是从数据库中获取整个 JSON 对象,然后使用 JSON Schema(受此项目启发)获取必要的字段,其性能不符合预期的 SLA。我真的很想在 MySQL 服务器上进行尽可能多的数据处理,然后再将其放入我的应用程序并在需要时进一步处理它。

PS:我明白了;不像 AWS S3 之类的东西;数据库可能不是存储大型 JSON 文档的最佳选择。但我想利用其他 NoSQL 数据存储可能无法使用的数据库的批量读取功能

0 投票
2 回答
2394 浏览

mysql - MySQL JSON 列添加新数组作为元素

我有一个带有 JSON 类型列的表,我想用现有 JSON 中的新数组元素更新一个列。

需要做的事情:员工打卡时在JSON列中添加一个数组,员工打卡时在JSON列中添加另一个数组。

我为员工punch_in做了什么:

结果在 rule_codes 列 =

{"emp_sheet": "{"rulecode":"PUNCH_IN","result":1,"applytime":"2018-04-12 04:50:39"}"}

请帮我编写员工punch_out 的更新查询。

0 投票
1 回答
90 浏览

json - MariaDB 10.2 使用 JSON 进行查询

我的查询有问题;

我的数据库看起来像;

我的 cms_routing_data 看起来像;

PHPMyAdmin 响应;

有没有人有这方面的经验并且可以帮助我?

0 投票
0 回答
437 浏览

mysql - MySQL 从存储的 json 文档中提取多个嵌套值作为一个值

我的最终目标是构建一个JSON_OBJECT()select 语句,它只从存储的 json 值中收集几个值。

我当前的 select 语句迭代:

示例item文档可能在哪里:

这就是我试图作为 select 语句的结果记录来完成的(对于示例文档):

所以基本上,只是一个顶级目录项的数组(深度[1])

如果我绝对必须的话,我会承认在应用程序中完成逻辑,我只是​​觉得必须有一种方法可以使用 MySQL json 函数来做到这一点。

选择对象/数组时有没有办法要求最大深度?

我正在使用 5.7.22,所以我确实拥有最新的花哨 json 功能(JSON_ARRAYAGG/JSON_OBJECTAGG 等)

0 投票
2 回答
1328 浏览

mysql - 使用 Laravel 查询 sql 中的 json 列

Seofilter db 表有名为 category_ids 的 json 列。我想查询json col中存在的值。

而不是查询所有行并获取它们的 jsoncol 值然后爆炸等,由于服务器负载,我想用更少的对服务器的查询来做到这一点。

例如 [{60, 59, 57}] 或 [{55, 58, 60}] 所以 60 都存在。

0 投票
2 回答
1266 浏览

mysql - 在 MySQL JSON 数据中使用 BETWEEN 比较 mysql 日期

我正在努力比较存储在 MySQL 中 JSON 数据中的日期。

JSON 的格式类似于

{"0": {"end_date": "2018/06/30", "start_date": "2018/06/01"}, "1": {"end_date": "2018/06/30", "start_date": "2018/06/01"}}

所以,现在我需要编写一个 MySQL 查询来仅当 JSON 中的日期在“2018/06/01”和“2018/06/05”之间时才能获取该行。

也欢迎任何替代建议而不是存储在 JSON 中。

0 投票
1 回答
1201 浏览

laravel - Laravel 获取 JSON 列 MariaDB 语法错误

我试图根据 JSON 列获取一些数据meta。但是,符号周围发生了一些奇怪的事情->

输出

这是我得到的错误

SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的 '>'$."serie"', ?)' 附近使用正确的语法(SQL:select * from fileswhere json_contains( meta->'$."serie" ', “清理”))

架构

控制器

我尝试使用常规where,但它会引发相同的错误。任何想法?

0 投票
2 回答
3032 浏览

mysql - How to delete/remove item from document in json field in mysql laravel

I have a json column named Data in my user table in the database.

Example of content:

let's assume that many row in the table may have the same content so they should be removed from all of the rows of the table too what i want to do is remove an item by key and value last thing i can come up with is this query for example i want to remove the item where id equal 10:

but this query remove the all the content of the column.

If any one could help this is much appreciated.

By the way i get on this way because i can't seem to find a way to make it using QueryBuilder in laravel So it will be RawQuery.

Thank you Guys