JSON_ARRAY_INSERT() în MySQL

JSON: modificare MySQL 5.7.8+

Inserează o valoare într-o listă JSON la o poziție dată, mutând restul elementelor.

Sintaxă
JSON_ARRAY_INSERT(document, cale_cu_indice, valoare[, ...])

Ce face JSON_ARRAY_INSERT()

JSON_ARRAY_INSERT() pune elementul la indicele din cale ('$[1]') și împinge elementele următoare la dreapta. Un indice prea mare adaugă la final.

Parametri

Parametru Descriere
document Documentul modificat.
cale_cu_indice Calea care se termină cu un indice, ex. '$.hobby[0]'.
valoare Elementul inserat.

Ce returnează

Documentul nou.

Exemple

Exemplul 1: Inserare la început și la mijloc

SELECT JSON_ARRAY_INSERT('["a", "b"]', '$[1]', 'x') AS la_mijloc,
       JSON_ARRAY_INSERT('["a", "b"]', '$[0]', 'start') AS la_inceput;

Rezultat

+-----------------+---------------------+
| la_mijloc       | la_inceput          |
+-----------------+---------------------+
| ["a", "x", "b"] | ["start", "a", "b"] |
+-----------------+---------------------+

Greșeli frecvente

  • Dai o cale fără indice ('$.hobby'). Funcția cere o cale care se termină cu [n] și dă eroare altfel.

Comenzi înrudite