问题标签 [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 投票
2 回答
1929 浏览

mysql - MySql JSON 数据类型的用例

我正在为用户可以在其上编写Articles. 我几乎完成了设计,突然间我JSON datatypeMySQL.
根据博客,JSON可以使用某些用例:

  1. 用于存储元数据。例如,产品的高度、宽度、颜色存储为 JSON。
  2. 用于存储非标准模式类型数据
  3. 用于将标签存储为 JSON。例如,这个问题可能有标签 - mysql、JSON。因此,博客建议使用包含所有tags.

最后一个让我怀疑。为什么?
好的,我已将 JSON 中的标签值存储为{"tags": ["mysql", "JSON", "mysql-datatype"]}. 我同意这有助于轻松维护文章的标签。
但是假设用户想要阅读所有与mysql标签相关的文章!如果我一直为article_id-维护一个单独的表tags_id,我可以轻松地获得所有Articles基于tags. 但这JSON可能是一个非常繁忙的要求,尽管这可以解决但需要付出代价。当然查询速度较慢。
这是我的文章模式: 在此处输入图像描述 我的思维方式是正确的还是我在这里遗漏了什么?喜欢听一些建议。

0 投票
4 回答
4309 浏览

php - JSON_CONTAINS 无法从 MySQL 中找到

在 MySQL 中,我使用 PHP 的 json_encode 将数据存储在“jsonValues”字段中:

通过 PHP,我想通过编写以下查询来获取数据:

但是,它显示错误

3141 - 函数 json_contains 的参数 2 中的 JSON 文本无效:“文档根不能跟随其他值。” 在第 10 位。

0 投票
1 回答
643 浏览

php - 将 MySQL JSON_OBJECT() 与参数化查询一起使用

我试图使用以下查询向 MySQL 表中插入一个条目。如果我将 MySQL 参数化查询与 mysqli 一起使用,如下所示,它可以正常工作。

但是,如果我使用下面的 mysqli 参数化查询,则会将错误“无法从具有 CHARACTER SET 'binary' 的字符串创建 JSON 值”放入调试文件中。请有人帮忙解决这个问题。

0 投票
1 回答
922 浏览

mysql - 如何在 MySQL JSON_CONTAINS 中使用 PDO bindParam?

我正在尝试运行以下命令:

但是,它总是导致空匹配。删除参数并直接输入值可以正常工作。

我怀疑引号有问题,但我不太明白 - 我需要修改什么才能让它工作?

0 投票
1 回答
6258 浏览

mysql - MySQL/MariaDB JSON_EXTRACT 和 JSON_CONTAINS

我有一个具有以下结构的表:

我需要的是根据listener_descriptions列做一些搜索。为了确保JSON_*方法有效,我做了这个查询,效果很好:

现在我想选择所有匹配的行SSLCertificateId

但是没有找到结果。我在第二个参数中尝试了单引号和双引号的多种组合,JSON_CONTAINS但没有成功。

0 投票
1 回答
53 浏览

mysql - 如何将列表传递给mysql程序?

你想在mysql程序中一次插入一对多数据(数据列表),你可以使用json方法。然后,您必须通过 mysql json 格式将数据列表作为 json 传递。然后您可以使用 while 循环插入列表数据。

0 投票
2 回答
1540 浏览

mysql - 如何在 MySQL 5.7 中更新嵌套的 JSON 数据类型

使用 JSON_SET 更新简单的 JSON 数据类型没有问题,但使用嵌套它就行不通了。

查询应该如何使用如下格式:

有些行可能是空的,有些行没有“武器”结构。

我尝试了什么:

我想更新 t_1 以将值从 0 更改为 1

0 投票
1 回答
923 浏览

mysql - 从与 MYSQL JSON 中的属性匹配的对象数组中选择对象

我在 MySQL 数据库中有一个包含 1 个 JSON 类型列 city 的表,该表存储具有以下结构的城市对象的 JSON 数组:

我想从 city 数组中选择对象,countryID = 90但我被卡住了,因为对象数组存储在单个列city中,这阻止了我执行(*)with WHERE JSON_CONTAINS(city->'$.cities', JSON_OBEJECT('countryID', '90'))

我的查询看起来像这样,但我无处可去,

SELECT JSON_EXTRACT(city, '$.cities') FROM MyTable WHERE JSON_CONTAINS(city->'$.cities', JSON_OBJECT('countryID', '90'))

如果有人能指出我正确的方向或给我一个解决方案,那将是一个很大的帮助。

谢谢

0 投票
1 回答
2527 浏览

mysql - MySQL JSONField 嵌套数组 SUM

我在 MySQL 8.0 数据库中有一个简单的表,如下所示:

我可以使用以下方法填充我的 JSONField:

我想要的是提取SUM所有 Balance 值。

我试过这个:

但是给出了结果:

另外,如果我摆脱SUM,结果是:

这让我相信这JSON_UNQUOTE也不适用于这个嵌套数组 SELECT。

我如何查询表(最好没有自定义函数),以便它给出:

0 投票
1 回答
303 浏览

mysql - 使用 MySQL Json_search 函数使用不区分大小写的搜索获取 JSON 数据中值的路径表达式

我有一个要求,我需要从按值搜索的 JSON 数据中提取 JSON 路径表达式。

例如,如果我将 JSON 数据存储为

如果我需要获得价值'Arun Babu'的JSON路径,我可以使用

这导致

这是正确的,但问题是如果我使用值'arun babu'进行搜索,它会返回 NULL。所以要进行不区分大小写的搜索,我使用了

所以现在我得到的结果是

但这不是我需要的,因为现在结果也以小写形式输出,我需要结果为
"$[1].Name" 任何人都可以提出一个好的解决方案或方法。

MySQL 版本使用的是 5.7(支持 JSON 类型的版本)