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

mysql - 如何在 MySQL 中搜索 JSON 数组?

假设我在某个 MySQL 表中有一个名为data的 JSON 列,并且该列是单个数组。因此,例如,数据可能包含:

[1,2,3,4,5]

现在我想选择所有具有数据列且其数组元素之一大于 2 的行。这可能吗?

我尝试了以下方法,但无论数组中的值如何,它似乎总是正确的:

0 投票
12 回答
46182 浏览

mysql - MySQL 5.7.12 导入无法从具有 CHARACTER SET 'binary' 的字符串创建 JSON 值

我导出了我的数据库,其中包含 JSON 列。迁移到新服务器后,每次导入都会崩溃,并出现如下错误:

无法从具有 CHARACTER SET 'binary' 的字符串创建 JSON 值

在stackoverflow上,我找到了这篇文章,但对我没有用: mysqlimport issues "set @@character_set_database=binary" which prevent loading json values

该文件为 2GB,无法打开该文件。

有人知道导入我的数据库文件吗?

0 投票
4 回答
14983 浏览

php - MySQL 5.7+,嵌套路径中的 JSON_SET 值

对于最近的一个开发项目,我们使用的是 MySQL 5.7,因此我们可以利用最新的 JSON 函数......

我正在构建一个 UPDATE 查询,其中应将嵌套的 json 对象插入/添加到 JSON 类型的属性列中,请参见下面的查询。

当我执行此查询时,属性字段包含数据

而不是通缉

也尝试使用 JSON_MERGE,但是当我多次执行它时,它会创建一个 JSON 对象,如

那么,当节点不存在时,JSON_SET 不起作用?JSON_MERGE 合并到无穷大?

JSON 对象中使用的键可以由用户定义,因此不可能为所有可能的键创建一个空的 JSON 对象。我们真的需要在每个 UPDATE 查询之前执行 JSON_CONTAINS / JSON_CONTAINS_PATH 查询以确定我们是否需要使用 JSON_SET 或 JSON_MERGE / JSON_APPEND?

我们正在寻找一种方法来获得始终有效的查询,因此当"$.test4.test5.test6"给出时,它将扩展当前的 JSON 对象,添加完整路径......如何做到这一点?

0 投票
1 回答
908 浏览

mysql - 如何在 Rails 5 中使用 ransack 搜索 MySQL JSON 数组

Rails 5 现在支持 MySQL 中的原生 JSON 数据类型,所以如果我有一个包含数组的列data["a", "b", "c"] : ,并且我想搜索该列是否包含值,所以基本上我想要类似的东西:data_json_cont: ["b"]。那么这个查询可以使用 ransack 构建吗?

0 投票
1 回答
591 浏览

mysql - MySQL JSON 数据类型存储历史价格

我正在考虑使用 JSON 数据类型在 MySQL 5.7+ 中保存历史数据价格的可能解决方案,而不是为每个历史价格添加新行。

案例描述: 我有一个名为“产品”的产品当前价格和产品描述表。几天后产品价格可能会发生变化,我想使用 JSON 数组保存历史价格变化:

JSON基础结构:

这个想法是将历史数据保存到一个名为“HistoricalProductPrices”的单独表中,其中包括 ProductID、(与“Products”表的关系)、DateCreated 和带有我描述的字段的 ProductID 历史价格的 JSON 数据类型。

在某些情况下,我需要产品的完整数据历史记录,因此我只需获取整个 JSON 并显示以供报告。有时我需要一个特定的日期或产品历史价格范围,所以我想我只会从 JSON 中获取历史数据并寻找神化的“PriceChangeDate”。这也可以让我节省大量的日常插入,相反我需要使用产品的新数据更新 JSON。

你们如何看待这种保存历史数据的方法?

0 投票
1 回答
201 浏览

mysql - 如何实现 json 数据类型来存储价格历史

我在 MySQL (5.7.10) 中有一个“产品”表,其中包含许多产品。我想使用 JSON 数据类型在“产品”表中包含一个名为 HistoricalPrices 的字段。

例如,“产品”表包括以下内容:

HistoricalPrice应该在 json 中包含“CreateDate”和“Price”键,所以我可以添加多个价格变化。

我更喜欢这种方法(而不是为每个价格历史添加新行),因为我只需要这些价格来报告。

我正在寻找的是 MySQL Query,用于在 HistoricalPrice 字段(json)中添加新的价格变化

0 投票
0 回答
420 浏览

mysql - 在 MySQL 中搜索 JSON 数组

我有一个产品表,其中还包含带有 JSON 数组的 JSON 数据类型 - json_array() 字段。

例如,“产品”表包括以下内容:

我使用以下查询语法附加数据:

JSON数组的结构示例:

是否可以在 JSON 数组中搜索特定的产品 ID。喜欢在某个日期范围内寻找特定价格?

0 投票
1 回答
2419 浏览

mysql - 在 MySQL 5.7 中弹出 JSON 数组中的最后一项

我在一个名为from. 它可能看起来像这样。

我想选择最后一项(此处2016-05-04)。

我试过这个:

但得到了那个错误:

我试过使用这样的变量:

但得到了完全相同的错误。但如果我这样做:

它工作正常。

0 投票
2 回答
2841 浏览

mysql - 在 Mysql 中查询一个 JSON 数组

我有以下 JSON 对象。

我正在尝试查询 JSON 对象以查找 id 是否包含 2 。

我不认为以上JSON_CONTAINS是正确的,但我不确定我会做什么来运行它。

0 投票
1 回答
601 浏览

mysql - MySQL - How to search within JSON datafield

I am using MYSQL 5.7.11 which supports JSON datafields.

I have a JSON field in one of my tables that stores price history of a product:

JSON structure Sample:

As you can see it can have multiple JSON arrays inside a row. Each JSON row in the sample represents a different product. Like first ROW price 15.90 is for APPLE, second ROW 14.40 is for ORANGE and third 40.00 and 42.00 is for BANANA. Just to make this clear.

What i am looking for is to be able to search between range of dates.

Like get all products price history between Date A to Date B.

For testing purposes I tried to do something like this:

But it always returned many rows with just NULL.

Any help would be appreciated...