sql >> Databáze >  >> RDS >> Mysql

Odeberte prvek pole podle hodnoty v mysql json

Pokud víte, že v poli nikdy nejsou duplikáty, můžete použít JSON_SEARCH vyhledejte cestu k hodnotě, kterou chcete odstranit, a poté použijte JSON_REMOVE k jeho odstranění. Nezapomeňte, že je třeba zkontrolovat JSON_SEARCH skutečně najde hodnotu, jinak JSON_REMOVE zruší celé pole:

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

Udělal jsem malou ukázku na dbfiddle .

Upozorňujeme, že musíte použít JSON_UNQUOTE na odpověď z JSON_SEARCH aby byla platnou cestou pro JSON_REMOVE .



  1. Jak nainstalovat modul Python MySQLdb pomocí pip?

  2. 2 způsoby, jak vypsat všechny spouštěče v databázi PostgreSQL

  3. PHP nenačítá php_pgsql.dll v systému Windows

  4. Jak vybrat top 1 a seřadit podle data v Oracle SQL?