Jika Anda tahu tidak pernah ada duplikat dalam array, Anda dapat menggunakan JSON_SEARCH untuk menemukan jalur ke nilai yang ingin Anda hapus, lalu gunakan JSON_REMOVE untuk menghapusnya. Perhatikan bahwa Anda perlu memeriksa JSON_SEARCH benar-benar menemukan nilai, jika tidak JSON_REMOVE akan membatalkan seluruh bidang:
UPDATE waitinglist
SET new = JSON_REMOVE(new, JSON_UNQUOTE(JSON_SEARCH(new, 'one', 'orange')))
WHERE JSON_SEARCH(new, 'one', 'orange') IS NOT NULL
Saya telah membuat demo kecil di dbfiddle .
Catatan Anda harus menggunakan JSON_UNQUOTE atas tanggapan dari JSON_SEARCH untuk menjadikannya jalur yang valid untuk JSON_REMOVE .