Saltar al contenido principal
Página traducida

Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.

JSON_INSERT

Inserta nuevos valores en un documento JSON en las rutas especificadas sin sobrescribir los valores existentes.

Consulte también:
[SELECT] [JSON_EXTRACT] [JSON_SET] [JSON_REPLACE]


Sintaxis​

SELECT JSON_INSERT(json_column, path, new_value) FROM <multipartIdentifier>;

Argumentos​

json_column
La columna o expresión JSON que se va a modificar.

path
La expresión de ruta JSON donde se debe insertar el nuevo valor. Si la ruta ya existe, el valor original de esa ruta no se reemplaza.

new_value
El valor que se inserta en la ruta especificada del documento JSON.

Valor(es) devuelto(s)​

Devuelve el documento JSON con el nuevo valor insertado si la ruta especificada aún no existe; en caso contrario, el documento JSON se devuelve sin cambios.

Comportamiento si una clave existe
Función¿Sobrescribir si ya existe?¿Crear si no existe?
json_insert()NoSí
json_replace()SíNo
json_set()SíSí

Ejemplos​

Insertar un nuevo par clave-valor en un objeto 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"} |
|-------------------------------------------------------------|
*/

Esta consulta inserta una nueva clave llamada 'region' con el valor 'Europe' en el documento JSON si la clave 'region' aún no existe. Si 'region' ya es una clave del documento, se devuelve el documento original sin cambios.