شرح صفوف ومحتوى الفقرة
توفّر MySQL 8 دوال تعديل جزئي دقيقة تغنيك عن استبدال المستند كاملاً من كود التطبيق: تحدّث الدالة JSON_SET(doc, path, val) المسارات الموجودة وتضيف المسارات الجديدة، وتضيف JSON_INSERT(doc, path, val) المفاتيح غير الموجودة فقط، وتعدّل JSON_REPLACE(doc, path, val) المفاتيح الموجودة فحسب، بينما تحذف JSON_REMOVE(doc, path) المفتاح المحدد.
SQL
-- Compare JSON_SET upsert vs JSON_REMOVE key deletion
SELECT
JSON_SET('{"env":"dev","dbg":1}', '$.env', 'prod') AS set_doc,
JSON_INSERT('{"env":"dev"}', '$.region', 'mena') AS ins_doc,
JSON_REMOVE('{"env":"dev","temp":1}', '$.temp') AS clean_doc;