Si sabe que nunca hay duplicados en la matriz, puede usar JSON_SEARCH
para encontrar la ruta al valor que desea eliminar y luego use JSON_REMOVE
para quitarlo Tenga en cuenta que debe verificar que JSON_SEARCH
en realidad encuentra un valor, de lo contrario JSON_REMOVE
anulará todo el campo:
UPDATE waitinglist
SET new = JSON_REMOVE(new, JSON_UNQUOTE(JSON_SEARCH(new, 'one', 'orange')))
WHERE JSON_SEARCH(new, 'one', 'orange') IS NOT NULL
Hice una pequeña demostración en dbfiddle .
Tenga en cuenta que debe usar JSON_UNQUOTE
en la respuesta de JSON_SEARCH
para que sea una ruta válida para JSON_REMOVE
.