MariaDB 位置を指定して配列に値を追加する

MariaDB 位置を指定して配列に値を追加する

MariaDBで、位置を指定して配列に値を追加する手順を記述してます。「JSON_ARRAY_INSERT」に配列と位置と追加するデータを指定します。ここでは、実際に実行した結果を画像で掲載してます。

環境

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

手順

位置を指定して配列に値を追加する場合は、「JSON_ARRAY_INSERT」を使用します。

JSON_ARRAY_INSERT('配列','位置','追加するデータ')

実際に、使用してみます。

SELECT 
JSON_ARRAY_INSERT('["a", ["b", "c"]]', '$[0]', "b"),
JSON_ARRAY_INSERT('["a", ["b", "c"]]', '$[1]', "b"),
JSON_ARRAY_INSERT('["a", ["b", "c"]]', '$[2]', "b")

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

ネストして追加する場合は、「 [位置][ 位置 ] 」と指定します。

SELECT 
JSON_ARRAY_INSERT('["a", ["b", "c"]]', '$[1][0]', "d"),
JSON_ARRAY_INSERT('["a", ["b", "c"]]', '$[1][1]', "d")

実行結果

jsonオブジェクトにも、利用することが可能です。

SELECT 
JSON_ARRAY_INSERT('{"a": [1,2], "b": 2}', '$.a[0]', 3),
JSON_ARRAY_INSERT('{"a": [1,2], "b": 2}', '$.a[1]', 3)

実行結果