Ce face JSON_REMOVE()
JSON_REMOVE() elimină valorile de la căile date. Căile se aplică pe rând, deci la liste indicii se schimbă după fiecare ștergere.
Parametri
| Parametru | Descriere |
|---|---|
document |
Documentul modificat. |
cale |
Una sau mai multe căi de șters. |
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: Ștergerea unei chei și a unui element din listă
SELECT JSON_REMOVE(date, '$.adresa', '$.hobby[0]') AS fara_adresa
FROM profiluri
WHERE id = 1;
Rezultat
+--------------------------------------------------------------------+
| fara_adresa |
+--------------------------------------------------------------------+
| {"nume": "Ana", "oras": "Iași", "hobby": ["înot"], "varsta": 31} |
+--------------------------------------------------------------------+
Greșeli frecvente
- Ștergi mai multe elemente dintr-o listă cu indici crescători (
'$[0]', '$[1]'). După prima ștergere indicii se mută; șterge de la indicele cel mai mare spre cel mic.
Comenzi înrudite
JSON_SET(): Setează valori în JSON: le înlocuiește dacă există și le adaugă dacă lipsesc.JSON_ARRAY_INSERT(): Inserează o valoare într-o listă JSON la o poziție dată, mutând restul elementelor.