3

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

DB構造

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

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

{
  "items": [
    {"type": "bar"}
  ]
}

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

{
  "items": [
    {"type": "baz"}
  ]
}

機能するもの

走れる

select `foo`->"$.items[0].type" from `jsontest`

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

走れる

select `id` from `jsontest` where `foo`->"$.items[0].type" = "bar"

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

私の問題

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

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

select `id` from `jsontest` where `foo`->"$.items[*].type" = "bar"

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

4

1 に答える 1