いくつかの条件に従って、MySQL テーブルに格納されている複数のレコードの特定の JSON デコード配列値にゼロを追加する方法を考え出そうとしています。
たとえば、テーブル 'menu' の列 'params'(text) には、次の形式の JSON デコード配列を含むレコードがあります。
{"categories":["190"],"singleCatOrdering":"","menu-anchor_title":""}
列「id」の数値は 90 です。
私の目標は、(たとえば)menu.idが100未満の場合は常に、menu.paramsの「カテゴリ」値にゼロを追加することです.
このレコードの結果は
{"categories":["1900"],"singleCatOrdering":"","menu-anchor_title":""}
そのため、データベースで "categories": ["999"] の出現箇所を検索して見つけ、値の末尾にゼロを追加してレコードを更新する SQL クエリを探しています。
この回答は、 mysql-udf-regexp の使用を提案することで部分的に役立ちますが、UPDATE ではなく値の REPLACE を参照しています。おそらくREGEXP_REPLACE?関数はそのトリックを行います。私はこのライブラリを使用したことがなく、それに慣れていません。おそらく、必要なものを達成するためのより簡単な方法がありますか?
ありがとう