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

JSON 配列内の特定のキーと値のペアを更新するための MySQL 構文

MySQL 5.7.12 データベースに JSON カラムを持つテーブルがあります。

列のデータは次の構造になっています (json 配列には複数の json オブジェクトが含まれる場合があります):

[{"ste": "I", "tpe": "PS"}, {"ste": "I", "tpe": "PB"}]

tpe=PBste の値を変更する UPDATE クエリを作成したいと考えています。

これは私の試みです:

ユーザーの更新 SET ext = JSON_SET(JSON_SEARCH(ext, 'one', 'PB', NULL, '$**.tpe'), '$.tpe', 'A');

クエリの出力は次のようになります:

[{"ste": "I", "tpe": "PS"}, {"ste": "A", "tpe": "PB"}]

これは機能しません。列が次のように更新されます:

"$[0].tpe"

どうすれば機能しますか?

######編集######

これはより理にかなっていると思いますが、構文にはまだ問題があります リーリー

P粉386318086P粉386318086348日前784

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

  • P粉973899567

    P粉9738995672023-11-07 10:19:24

    これがまだ必要であることを願っています。

    #JSON_SET で変数パスを使用してみてください。 JSON_SEARCH を使用して変数パスを取得し、絶対パスtpeste に置き換えてその値を更新します。私にとってはうまくいきます! リーリー

    返事
    0
  • キャンセル返事