検索

ホームページ  >  に質問  >  本文

MySQL JSON のキー値に対応するオブジェクトを見つける: 実装方法

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

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

リーリー

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

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

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

リーリー

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

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

リーリー

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

リーリー

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

リーリー

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

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

P粉037215587P粉037215587442日前828

全員に返信(1)返信します

  • P粉585541766

    P粉5855417662023-10-31 12:44:25

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

    リーリー

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

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

    リーリー

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

    返事
    0
  • キャンセル返事