Ако знаете, че никога няма дубликати в масива, можете да използвате JSON_SEARCH
за да намерите пътя до стойността, която искате да изтриете, и след това използвайте JSON_REMOVE
за да го премахнете. Имайте предвид, че трябва да проверите това JSON_SEARCH
всъщност намира стойност, в противен случай JSON_REMOVE
ще анулира цялото поле:
UPDATE waitinglist
SET new = JSON_REMOVE(new, JSON_UNQUOTE(JSON_SEARCH(new, 'one', 'orange')))
WHERE JSON_SEARCH(new, 'one', 'orange') IS NOT NULL
Направих малка демо на dbfiddle .
Имайте предвид, че трябва да използвате JSON_UNQUOTE
на отговора от JSON_SEARCH
за да го направите валиден път за JSON_REMOVE
.