JSON_REPLACE() în MySQL

JSON: modificare MySQL 5.7.8+

Înlocuiește doar valorile care există deja în JSON; căile inexistente sunt ignorate.

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

Ce face JSON_REPLACE()

JSON_REPLACE() nu adaugă chei noi. Este utilă când vrei să eviți apariția accidentală a unor câmpuri greșite.

Parametri

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

Ce returnează

Documentul nou.

Exemple

Exemplul 1: Doar cheile existente se schimbă

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

Rezultat

+----------+
| rezultat |
+----------+
| {"a": 2} |
+----------+

Greșeli frecvente

  • Greșești numele cheii și nu primești nicio eroare: JSON_REPLACE() ignoră căile care nu există. Verifică rezultatul.

Comenzi înrudite

  • JSON_SET(): Setează valori în JSON: le înlocuiește dacă există și le adaugă dacă lipsesc.
  • JSON_INSERT(): Adaugă valori în JSON doar unde cheile nu există; valorile existente rămân neschimbate.