Ce face JSON_MERGE_PATCH()
JSON_MERGE_PATCH() se comportă ca o actualizare: cheile din al doilea document suprascriu cheile cu același nume din primul. O cheie cu valoarea null în al doilea document este ștearsă.
Este alegerea potrivită pentru setări: pornești de la valorile implicite și aplici preferințele utilizatorului.
Parametri
| Parametru | Descriere |
|---|---|
document1, document2, ... |
Documentele unite, în ordine. |
Ce returnează
Documentul unit.
Exemple
Exemplul 1: Setări implicite suprascrise
SELECT JSON_MERGE_PATCH(
'{"tema": "light", "limba": "ro", "notificari": true}',
'{"tema": "dark", "notificari": null}'
) AS setari;
Rezultat
+---------------------------------+
| setari |
+---------------------------------+
| {"tema": "dark", "limba": "ro"} |
+---------------------------------+
Greșeli frecvente
- Te aștepți ca listele să fie unite.
JSON_MERGE_PATCH()înlocuiește lista întreagă; pentru unire foloseșteJSON_MERGE_PRESERVE().
Comenzi înrudite
JSON_MERGE_PRESERVE(): Unește documente JSON păstrând toate valorile: cheile duplicate devin liste.JSON_SET(): Setează valori în JSON: le înlocuiește dacă există și le adaugă dacă lipsesc.