Ce face JSON_ARRAY_APPEND()
JSON_ARRAY_APPEND() pune valoarea la finalul listei aflate la calea dată. Dacă la cale este o valoare simplă, aceasta devine o listă cu două elemente.
Parametri
| Parametru | Descriere |
|---|---|
document |
Documentul modificat. |
cale, valoare |
Lista și elementul adăugat. |
Ce returnează
Documentul nou.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE profiluri (
id INT PRIMARY KEY,
date JSON
);
INSERT INTO profiluri VALUES
(1, '{"nume": "Ana", "oras": "Iași", "varsta": 31, "hobby": ["citit", "înot"], "adresa": {"strada": "Lăpușneanu", "nr": 12}}'),
(2, '{"nume": "Dan", "oras": "Cluj", "varsta": 45, "hobby": ["ciclism"]}'),
(3, '{"nume": "Ioana", "oras": "Iași", "varsta": 27, "hobby": []}');
Exemplul 1: Un hobby nou
UPDATE profiluri SET date = JSON_ARRAY_APPEND(date, '$.hobby', 'șah') WHERE id = 2;
SELECT date->'$.hobby' AS hobby FROM profiluri WHERE id = 2;
Rezultat
+---------------------+
| hobby |
+---------------------+
| ["ciclism", "șah"] |
+---------------------+
Greșeli frecvente
- Folosești
JSON_SET(date, '$.hobby[2]', ...)ca să adaugi la final; trebuie să știi lungimea listei.JSON_ARRAY_APPEND()nu are nevoie de ea.
Comenzi înrudite
JSON_ARRAY_INSERT(): Inserează o valoare într-o listă JSON la o poziție dată, mutând restul elementelor.JSON_ARRAY(): Construiește o listă (array) JSON din valorile date.JSON_SET(): Setează valori în JSON: le înlocuiește dacă există și le adaugă dacă lipsesc.