MySQL JSON のキー値に対応するオブジェクトを見つける: 実装方法
P粉037215587
P粉037215587 2023-10-30 13:42:27
0
1
792

JSON オブジェクトを検索して特定のキーを取得する方法を見つけようとしていますが、別のキーを検索します。

これはサンプル スキーマです:

リーリー

データベース フィドル: https://www.db-fiddle.com/f/npPgVqh7fJL2JweGJ5LWXE/1

つまり、ID 1 を指定して、options から文字列「Grass」を選択したいのです。

しかし、これを行う方法はないようです。これを行うと草を得ることができます:

リーリー

ただし、これには配列のインデックスを知っている必要があります

次のように配列のインデックスを部分的に取得できます。

リーリー

そして、次のような非常に恐ろしいことを実行して、インデックス自体を取得します。

リーリー

次のような本当に恐ろしいことをしても、自分の望むことを達成できます:

リーリー

しかし、もっと良い方法があるはずですよね?

データベース フィドル: https://www.db-fiddle.com/f/npPgVqh7fJL2JweGJ5LWXE/1

P粉037215587
P粉037215587

全員に返信(1)
P粉585541766

MySQL 8.0 は、このようなケースの処理に役立つ JSON_TABLE() を提供します。

リーリー

ただし、 このようなクエリを作成するたびに、この複雑な JSON_TABLE() 式を実行する必要があります。

JSON を使用せず、代わりに通常の列 (テキストと値のペアごとに 1 行) を含むテーブルにデータを保存する方が簡単です。その後、任意の列で目的の値を検索できます。

リーリー

Stack Overflow で見られる MySQL での JSON の使用の 99% は、JSON を使用しないことで簡単に解決できます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート