翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
JSON_INSERT
既存の値を上書きせずに、JSON ドキュメントの指定したパスに新しい値を挿入します。
関連項目:
[SELECT] [JSON_EXTRACT] [JSON_SET] [JSON_REPLACE]
構文
SELECT JSON_INSERT(json_column, path, new_value) FROM <multipartIdentifier>;
引数
json_column
変更する JSON 列または式。
path
新しい値を挿入する位置を示す JSON パス式。パスがすでに存在する場合、そのパスにある元の値は置き換えられません。
new_value
JSON ドキュメントの指定したパスに挿入する値。
戻り値
指定したパスがまだ存在しない場合は、新しい値を挿入した JSON ドキュメントを返します。存在する場合は、JSON ドキュメントを変更せずに返します。
キーが存在する場合の動作
| 関数 | すでに存在する場合に上書き | 存在しない場合に作成 |
|---|---|---|
json_insert() | いいえ | はい |
json_replace() | はい | いいえ |
json_set() | はい | はい |
例
JSON オブジェクトに新しいキーと値のペアを挿入する
-- Example: Insert a new 'region' key with the value 'Europe' into a JSON object
SELECT JSON_INSERT(json_data, '$.region', 'Europe') as updated_object;
/* expected output...
|-------------------------------------------------------------|
| updated_json |
|-------------------------------------------------------------|
| {"name":"ResourceOne", "type":"Storage", "region":"Europe"} |
|-------------------------------------------------------------|
*/
このクエリは、'region' キーがまだ存在しない場合に、値が 'Europe' の 'region' という新しいキーを JSON ドキュメントに挿入します。'region' がすでにドキュメント内のキーである場合は、元のドキュメントが変更されずに返されます。