問題タブ [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 に答える
5173 参照

mysql - 配列をトラバースするためのmysql JSONパスの正しい構文?

私の質問は、mysql の JSON データ型を検索するときに、json 配列の内容を検索することです。

DB構造

したがって、mysql テーブルに 2 つの行があり、json フィールドがfoo.

最初の行には次のものがあります。

2 行目は次のとおりです。

機能するもの

走れる

2 つの結果を返す:barおよびbaz

走れる

1 つの結果を返すには: 1- すなわち。最初の行の ID。

私の問題

mysql のドキュメント[*]には、「JSON 配列内のすべての要素の値を評価する」ために使用できると記載されています。

ただし、次のクエリはゼロ項目を返します。

クエリの何が問題になっていますか?

0 投票する
4 に答える
27228 参照

mysql - MySQL でオブジェクトの配列を使用して JSON 列をクエリする

次の配列を持つjson列があります。

24276e4b-de81-4c2c-84e7-eed9c3582a31ドキュメント列にIDを持つ行を取得するために次のクエリを試しましたが、結果は返されません:

正しいクエリを実行する方法を知っている人はいますか?

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

mysql - array.array の JSON_REMOVE で「パス式に * および ** トークンが含まれていない可能性があります」というエラーが発生する

SELECT JSON_REMOVE(@I, '$.friends[*].name');または、以下 SELECT JSON_REMOVE(@I, '$.friends[*].friends');の JSON で、次のエラーが発生します。

JSON:

ただしSELECT JSON_EXTRACT(@I, '$.friends[*].friends')そうすると、結果は正常に返されます。

friends.name基本的に、すべてが削除された文字列を返し、場合によっては削除された文字列を返したいですfriends.friends

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

mysql - JSON データ型の配列内のオブジェクト プロパティの検索に関する問題

valueJSONタイプとして次のスキーマがあります

以下のクエリで行fooが返されると思っていましたが、返されませんでした。

value->'$.friends[*].friendId'以下のクエリで機能するため、条件は有効と思われます。

では、クエリselect * from people where value->'$.friends[*].friendId' = "123";が結果を返さないのはなぜでしょうか?

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

mysql - 「IN」句で使用するMySQL JSON配列?

INJSON 配列を MySQL (JSON をサポートするバージョン 5.7 以降)の句のパラメーターとして使用できますか?

以下は、私がうまく動作しないコードです...

0 投票する
0 に答える
558 参照

mysql - JSONデータ型の配列またはネストされたオブジェクト内のプロパティにインデックスを付ける方法は?

仮想列の生成は、JSON プロパティにインデックスを付けるための推奨される方法です。

しかし、インデックスを付けたいプロパティが配列またはオブジェクト内にある場合はどうなるでしょうか? たとえば、JSON プロパティが userId の配列であり、配列内の userId をクエリしているので、インデックスを作成したいとします。最善のアプローチは何ですか?

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

mysql - JSON_EXTRACT と CAST または STR_TO_DATE の連鎖が失敗する

MySQL の JSONFIELD 「データ」から日時を抽出しようとしています。

ただし、単純な JSON_EXTRACT を実行すると、返されるフィールドの型は JSON になります。

これをMySQL DATETIMEに変換したい。しかし、JSON_EXTRACT と STR_TO_DATETIME をチェーンすると、すべての NULL 値が得られます。

同様に、DATETIME としての CAST も失敗します。

文字列値から開始すると、これらのコマンドは両方とも機能します。

これを解決するための助けをいただければ幸いです!

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

mysql - MySQLの文字列json配列から要素を削除します

オブジェクトの文字列配列jsonを含む多くの列を持つテーブルがあります。

これらの配列からいくつかの要素を削除する必要があります。1 つの行から要素を削除する方法を見つけましたが、複数の行でそれを行うにはどうすればよいですか?

1行について、json_searchを使用して削除する必要がある要素を見つけましたが、削除する行と要素が多数あります。ストアド プロシージャ (while ループ) なしでそれを行う方法はありますか?

これはデータのサンプルです:

および/またはarrayを含む要素のみをそれぞれから削除する必要がありますag

私のクエリは次のとおりです。

すべての列を更新する方法を見つけましたが、このクエリはオブジェクト全体ではなく、json フィールドのみを削除します。オブジェクト全体を削除するにはどうすればよいですか?

0 投票する
4 に答える
30278 参照

mysql - MySQL JSON フィールドを使用してテーブルに結合する

ID のリストを格納する json フィールドがあります (ここではベスト プラクティスではありません)。この JSON フィールドで do 操作を使用し、それらを SQL で使用できるかどうかを知りたいです。

以下は、私が達成しようとしていることの架空の例です。このようなことは可能ですか?

上記のデータを使用して、次のような結果が得られるクエリを作成したいと思います。

私が考えている疑似スタイルの SQL を以下に示しますが、これが可能かどうか、またはこれを達成するために mysql が提供するどの JSON 関数を使用するかはまだわかりません

質問が明確でない場合はお知らせください。