MariaDB jsonオブジェクトからkeyを使ってvalueの置換を行う

MariaDB jsonオブジェクトからkeyを使ってvalueの置換を行う

MariaDBで、jsonオブジェクトからkeyを使ってvalueの置換を行う手順を記述してます。「JSON_REPLACE」に対象のjsonとkeyと置換する値を指定します。

環境

  • OS CentOS Stream release 9
  • MariaDB 10.10.2
  • phpMyAdmin 5.2.0

手順

jsonオブジェクトからkeyを使ってvalueの置換を行う場合は、「JSON_REPLACE」を使用します。

JSON_REPLACE('json','key','置換する値')

実際に、置換してみます。

SELECT 
JSON_REPLACE('{"a": 1, "b": 2}', '$.a', 10),
JSON_REPLACE('{"a": 1, "b": 2}', '$.b', 20)

実行結果をみると、置換されていることが確認できます。

存在しないkeyだと、置換は行われません。

SELECT 
JSON_REPLACE('{"a": 1, "b": 2}', '$.c', 30)

実行結果

keyが存在しなかったときに、新たに追加するには「JSON_SET」を使用します。

SELECT 
JSON_SET('{"a": 1, "b": 2}', '$.a', 10),
JSON_SET('{"a": 1, "b": 2}', '$.c', 30)

実行結果