MariaDB jsonオブジェクトからkeyを使ってvalueの置換を行いkeyが存在しなければ追加する

MariaDB jsonオブジェクトからkeyを使ってvalueの置換を行いkeyが存在しなければ追加する

MariaDBで、jsonオブジェクトからkeyを使ってvalueの置換を行いkeyが存在しなければ追加する手順を記述してます。「JSON_SET」で可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

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

手順

jsonオブジェクトからkeyを使ってvalueの置換を行いkeyが存在しなければ追加する場合は、「JSON_SET」を使用します。

JSON_SET('json','key','置換or追加する値')

実際に、置換または追加してみます。

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

実行結果をみると、keyが存在すれば置換され、存在しなければ追加されていることが確認できます。

新たに追加したくない場合は「JSON_REPLACE」を利用します。

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

実行結果