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

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

MariaDBで、位置を指定して配列の最後に値を追加する手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • MariaDB 10.6.4
  • phpMyAdmin 5.1.1

手順

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

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

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

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

実行結果をみると、指定した位置に追加されていることが確認できます。

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

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

実行結果

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

SELECT 
JSON_ARRAY_APPEND('{"a": 1, "b": 2}', '$.a', 3),
JSON_ARRAY_APPEND('{"a": 1, "b": 2}', '$.b', 3)

実行結果