問題タブ [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.
mysql - MySQLでJSON配列を検索するには?
MySQL テーブルにdataという名前の JSON 列があり、この列が単一のarrayであるとします。したがって、たとえば、データには次のものが含まれる場合があります。
[1,2,3,4,5]
ここで、配列要素の 1 つが 2 より大きいデータ列を持つすべての行を選択したいと考えています。これは可能ですか?
私は次のことを試しましたが、配列の値に関係なく、常に真のようです:
mysql - MySQL 5.7.12 のインポートでは、CHARACTER SET 'binary' を含む文字列から JSON 値を作成できません
JSON 列を含むデータベースをエクスポートしました。新しいサーバーに移行した後、毎回次のようなエラーでインポートがクラッシュしました。
CHARACTER SET 'binary' を使用して文字列から JSON 値を作成することはできません
stackoverflow で、この投稿を見つけましたが、うまくいきませんでした: mysqlimport は "set @@character_set_database=binary" を発行します。
ファイルは 2GB で、ファイルを開くことができません。
私のデータベースファイルをインポートするアイデアはありますか?
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 オブジェクトが拡張され、フル パスが追加されます...どうすればこれを行うことができますか?
mysql - Rails 5でランサックを使用してMySQL JSON配列を検索する方法
Rails 5 は MySQL でネイティブの JSON データ型をサポートするようになったので、配列を含む列data["a", "b", "c"]
があり、この列に値が含まれているかどうかを検索したい場合、基本的には次のようなものが必要です: data_json_cont: ["b"]
。このクエリは ransack を使用して構築できますか?
mysql - 価格履歴を保存するためにjsonデータ型を実装する方法
多くの製品を含む MySQL (5.7.10) に「製品」テーブルがあります。JSON データ型を使用して、HistoricalPrices というフィールドを "Products" テーブルに含めたいと考えています。
「Products」テーブルの例には、次のものが含まれます。
HistoricalPriceには、json に「CreateDate」キーと「Price」キーを含める必要があるため、複数の価格変更を追加できます。
レポートにこれらの価格が必要なだけなので、(価格履歴ごとに新しい行を追加するのではなく) この方法を好みます。
私が探しているのは、HistoricalPrice フィールド (json) 内に新しい価格変更を追加するための MySQL クエリです。
mysql - Mysql で JSON 配列を照会する
次の JSON オブジェクトがあります。
JSON オブジェクトにクエリを実行して、ID に 2 が含まれているかどうかを確認しようとしています。
上記JSON_CONTAINS
は正しいとは思いませんが、実行するために何をすればよいかわかりません。
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 だけで多くの行が返されました。
どんな助けでも大歓迎です...