JSON

JSON_REPLACE

MySQLMySQL

Mengganti nilai yang sudah ada di JSON document. Tidak melakukan apa-apa jika path tidak ada.

Tipe hasil: JSONDiperbarui: 7 Jan 2026

Syntax

SQL
JSON_REPLACE(json_doc, path, val[, path, val] ...)

Parameter

json_docJSONwajib

JSON document sumber

pathVARCHARwajib

Path ke nilai yang akan diganti

valanywajib

Nilai pengganti

Contoh Penggunaan

Replace Existing Value

SQL
1SELECT JSON_REPLACE('{"name": "John", "age": 30}', '$.age', 31) AS result;

Mengganti age dari 30 ke 31.

Hasil
{"name": "John", "age": 31}

Replace Non-Existing (No Effect)

SQL
1SELECT JSON_REPLACE('{"name": "John"}', '$.email', 'john@email.com') AS result;

Path tidak ada, tidak ada perubahan.

Hasil
{"name": "John"} (tidak berubah)

Batch Update

SQL
1UPDATE products
2SET details = JSON_REPLACE(details, '$.price', new_price, '$.stock', new_stock)
3WHERE id = 1;

Update multiple fields sekaligus.

Hasil
(updated JSON with new values)