问题标签 [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 回答
3242 浏览

mysql - MYSQL JSON_MERGE 和分组依据

我有以下数据表

在此处输入图像描述

我想做的是GROUP BY时间戳和JSON_MERGE对象。我期望的结果如下。

在此处输入图像描述

我希望以下查询能够正常工作,但我得到了一个错误

我得到的错误是

对本机函数“JSON_MERGE”的调用中的参数计数不正确

0 投票
2 回答
1805 浏览

mysql - 我可以在哪里比较两个完整的 json 值吗?

我在体育场表(mysql)中有一个名为 location 的 JSON 字段,我可以将它与下面的另一个 json 进行比较吗?...

*查询不会返回任何错误,但实际上是巧合时不会返回任何行

0 投票
2 回答
7674 浏览

mysql - mysql JSON_SET 无法插入具有 NULL 值的列(5.7+)

我正在探索较新的 mysql 服务器的 JSON 函数。但是遇到一个非常初级的问题。

当我不知道当前值是否为 NULL 时,如何将 {"key":"value"} 插入 JSON 列?

该表仅用于说明:

使用 NULL 和有效的 json 值测试数据。

期望的结果:

现在,我尝试将 {"age":87} 添加到所有行中:

以上均未更新 NULL 字段。尝试将列默认设置为{},但不允许这样做。

因为 NULL 不是有效的 JSON 数据,所以 mysql JSON 函数都不起作用: https ://dev.mysql.com/doc/refman/5.7/en/json-function-reference.html

我目前的解决方法是{}在插入之前将 NULL 设置为,但这很愚蠢。一个简单的更新不应该使用两个查询。

你们怎么处理这个?

0 投票
1 回答
1545 浏览

mysql - 将数据存储在 JSON 与 MYSQL 行中

我正在编写一个小应用程序并且有一个问题。我正在决定是否将数据存储在 JSON 或 mysql 行中最适合我的场景。

我正在编写一个可能有很多页面点击的应用程序,因此,我正在考虑将 JSON 编码的数组存储到列 VS mysql 行中。一个查询执行 VS 2 会更快。

我想弄清楚的问题是我需要删除 JSON 编码数组的一部分,但是这样做意味着在删除请求时,我必须获取整个数据,JSON 解码并取消设置对象,然后再次更新该行。VS mysql 删除行。

有没有一种我不知道的方法可以使这更容易处理?

0 投票
0 回答
476 浏览

mysql - MySQL JSON 到 GROUP_CONCAT

我在 MySQL 中有这样的 JSON 数据

我需要它使用 GROUP_CONCAT 像这样格式化

到目前为止,我有这样的查询......

...但它给了我这个结果

我不知道这对你来说是否简单。先感谢您。

0 投票
0 回答
149 浏览

mysql - Mysql GROUP_CONCAT 跳过部分字符串

我正在尝试将分组的 mysql 结果中的 JSON 数据类型列与 GROUP_CONCAT 组合,但在字符 5001 处,我得到了这个奇怪的 json 缺失片段。

我在 my.cnf 中将 group_concat_max_len 设置为 1000000 并将 max_allowed_pa​​cket 设置为 100M 并且正在使用 GROUP_CONCAT 像这样

0 投票
1 回答
1424 浏览

mysql - MySQL JSON - 选择在哪里

我正在尝试SELECT基于roles属性值的对象。

示例:选择所有names角色所在的位置1//response 将返回danny

查询语句:

列:用户名(JSON)

问题:为什么我的语句不只返回包含 name 的第一个对象danny

0 投票
4 回答
14278 浏览

mysql - MySQL JSON - 使用 IN 语句 | json_contains

我正在尝试选择列中的roles属性json包含任何值的所有列。

我试过的陈述:

SELECT * FROM components WHERE json->'$.roles' IN(1)

  • 这甚至不起作用,但在我看来它应该......

SELECT * FROM components WHERE JSON_CONTAINS(components, '1', '$.roles')

  • 这确实有效,但是很严格,所以当我使用1它时会像它应该的那样拉,因为它们都包含 1,但是如果我插入1,2或者JSON_ARRAY(1,2)它只会拉后面的行,因为它没有检查每个数组元素......

我有以下表components 结构数据

问题:如何修改这些语句中的任何一个以允许它们根据roles属性中的值查询行?

0 投票
1 回答
270 浏览

mysql - 使用空键对 MySQL JSON 对象执行操作的路径语法

鉴于 MySQL 5.7 或更高版本中使用的以下 JSON 对象:

使用空字符串键从 JSON 对象中提取值的有效路径语法是什么?

以上 SQL 是我对如何设置正确路径语法的最佳理解。但是,SQL 产生以下错误:Invalid JSON path expression. The error is around character position 4.

任何有助于理解对此类对象进行操作的正确路径语法都会非常有帮助。

0 投票
1 回答
3556 浏览

php - MySQL:从 JSON 字段中选择布尔值

我正在使用 MySQL 5.7.19

我正在尝试检索如下所示的类

和属性保存在 JSON 列中titledone

我用来检索的代码如下所示:

它填写了所有字段,但done属性被设置为字符串值“true”或“false”,而不是布尔值。