sql >> Database >  >> RDS >> Mysql

Verwijder array-element op waarde in mysql json

Als u weet dat er nooit duplicaten in de array zijn, kunt u JSON_SEARCH . gebruiken om het pad te vinden naar de waarde die u wilt verwijderen en gebruik vervolgens JSON_REMOVE om het te verwijderen. Merk op dat u moet controleren dat JSON_SEARCH vindt daadwerkelijk een waarde, anders JSON_REMOVE zal het hele veld ongeldig maken:

UPDATE waitinglist 
SET new = JSON_REMOVE(new, JSON_UNQUOTE(JSON_SEARCH(new, 'one', 'orange')))
WHERE JSON_SEARCH(new, 'one', 'orange') IS NOT NULL

Ik heb een kleine demo op dbfiddle gemaakt .

Let op:je moet JSON_UNQUOTE . gebruiken op het antwoord van JSON_SEARCH om er een geldig pad van te maken voor JSON_REMOVE .



  1. Gebruik mysqldump om een ​​back-up te maken van MySQL of MariaDB

  2. Is het mogelijk om een ​​time-out in te stellen voor een SQL-query op Microsoft SQL Server?

  3. Xampp MySQL start niet - "MYSQL start niet op XAMPP 3.2.1 versie ..."

  4. De sortering van een SQL Server-database wijzigen met T-SQL