JSON_INSERT() în MySQL

JSON: modificare MySQL 5.7.8+

Adaugă valori în JSON doar unde cheile nu există; valorile existente rămân neschimbate.

Sintaxă
JSON_INSERT(document, cale, valoare[, cale, valoare] ...)

Ce face JSON_INSERT()

JSON_INSERT() este varianta „nu suprascrie” a lui JSON_SET(). Este utilă pentru completarea valorilor implicite.

Parametri

Parametru Descriere
document Documentul modificat.
cale, valoare Perechi de cale și valoare.

Ce returnează

Documentul nou.

Exemple

Exemplul 1: Doar cheile noi sunt adăugate

SELECT JSON_INSERT('{"a": 1}', '$.a', 2, '$.b', 3) AS rezultat;

Rezultat

+------------------+
| rezultat         |
+------------------+
| {"a": 1, "b": 3} |
+------------------+

Greșeli frecvente

  • Te aștepți să schimbi o valoare existentă cu JSON_INSERT(). Pentru asta folosește JSON_SET() sau JSON_REPLACE().

Comenzi înrudite

  • JSON_SET(): Setează valori în JSON: le înlocuiește dacă există și le adaugă dacă lipsesc.
  • JSON_REPLACE(): Înlocuiește doar valorile care există deja în JSON; căile inexistente sunt ignorate.