問題タブ [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 列があり、この列が単一のarrayであるとします。したがって、たとえば、データには次のものが含まれる場合があります。

[1,2,3,4,5]

ここで、配列要素の 1 つが 2 より大きいデータ列を持つすべての行を選択したいと考えています。これは可能ですか?

私は次のことを試しましたが、配列の値に関係なく、常に真のようです:

0 投票する
12 に答える
46182 参照

mysql - MySQL 5.7.12 のインポートでは、CHARACTER SET 'binary' を含む文字列から JSON 値を作成できません

JSON 列を含むデータベースをエクスポートしました。新しいサーバーに移行した後、毎回次のようなエラーでインポートがクラッシュしました。

CHARACTER SET 'binary' を使用して文字列から JSON 値を作成することはできません

stackoverflow で、この投稿を見つけましたが、うまくいきませんでした: mysqlimport は "set @@character_set_database=binary" を発行します。

ファイルは 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 オブジェクトを作成することはできません。JSON_SET または JSON_MERGE / JSON_APPEND を使用する必要があるかどうかを判断するために、各 UPDATE クエリの前に JSON_CONTAINS / JSON_CONTAINS_PATH クエリを実行する必要がありますか?

常に機能するクエリを作成する方法を探しているので、"$.test4.test5.test6"が指定されると、現在の JSON オブジェクトが拡張され、フル パスが追加されます...どうすればこれを行うことができますか?

0 投票する
1 に答える
908 参照

mysql - Rails 5でランサックを使用してMySQL JSON配列を検索する方法

Rails 5 は MySQL でネイティブの JSON データ型をサポートするようになったので、配列を含む列data["a", "b", "c"]があり、この列に値が含まれているかどうかを検索したい場合、基本的には次のようなものが必要です: data_json_cont: ["b"]。このクエリは ransack を使用して構築できますか?

0 投票する
1 に答える
201 参照

mysql - 価格履歴を保存するためにjsonデータ型を実装する方法

多くの製品を含む MySQL (5.7.10) に「製品」テーブルがあります。JSON データ型を使用して、HistoricalPrices というフィールドを "Products" テーブルに含めたいと考えています。

「Products」テーブルの例には、次のものが含まれます。

HistoricalPriceには、json に「CreateDate」キーと「Price」キーを含める必要があるため、複数の価格変更を追加できます。

レポートにこれらの価格が必要なだけなので、(価格履歴ごとに新しい行を追加するのではなく) この方法を好みます。

私が探しているのは、HistoricalPrice フィールド (json) 内に新しい価格変更を追加するための MySQL クエリです。

0 投票する
2 に答える
2841 参照

mysql - Mysql で JSON 配列を照会する

次の JSON オブジェクトがあります。

JSON オブジェクトにクエリを実行して、ID に 2 が含まれているかどうかを確認しようとしています。

上記JSON_CONTAINSは正しいとは思いませんが、実行するために何をすればよいかわかりません。

0 投票する
1 に答える
601 参照

mysql - MySQL - JSON データフィールド内を検索する方法

JSON データフィールドをサポートする MYSQL 5.7.11 を使用しています。

製品の価格履歴を保存するテーブルの 1 つに JSON フィールドがあります。

JSON 構造 サンプル:

ご覧のとおり、行内に複数の JSON 配列を含めることができます。サンプルの各 JSON 行は、異なる製品を表しています。最初の ROW の価格 15.90 は APPLE、2 番目の ROW 14.40 は ORANGE、3 番目の 40.00 と 42.00 は BANANA です。これを明確にするためだけに。

私が探しているのは、日付の範囲を検索できるようにすることです。

日付 A から日付 B までのすべての製品の価格履歴を取得するようにします。

テスト目的で、次のようなことを試みました。

しかし、常に NULL だけで多くの行が返されました。

どんな助けでも大歓迎です...