यदि आप जानते हैं कि सरणी में कभी भी डुप्लीकेट नहीं होते हैं, तो आप 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
. के लिए एक मान्य पथ बनाने के लिए ।