mysql 修改 json 字段值的幾種方法:json_set() 函數:設置指定路徑的新值。json_replace() 函數:替換指定路徑處的現有值。json_modify() 函數:使用 json patch 語法靈活修改 json 字段。json_remove() 函數:刪除指定路徑的內容。
如何修改 MySQL 中 JSON 字段的值
MySQL 提供了多種方法來修改 JSON 字段的值。您可以根據具體需求選擇最合適的方法。
方法 1:使用 JSON_SET() 函數
JSON_SET() 函數允許您為 JSON 字段中的特定路徑設置一個新值。語法如下:
JSON_SET(json_column, path, new_value)
登錄后復制
例如,要將 data JSON 字段中 name 字段的值修改為 “John Doe”,可以使用以下語句:
UPDATE table_name SET data = JSON_SET(data, '$.name', 'John Doe')
登錄后復制
方法 2:使用 JSON_REPLACE() 函數
JSON_REPLACE() 函數替換 JSON 字段中特定路徑處的現有值。語法如下:
JSON_REPLACE(json_column, path, new_value)
登錄后復制
例如,要將 data JSON 字段中 address.city 字段的值修改為 “New York”,可以使用以下語句:
UPDATE table_name SET data = JSON_REPLACE(data, '$.address.city', 'New York')
登錄后復制
方法 3:使用 JSON_MODIFY() 函數
JSON_MODIFY() 函數允許您使用 JSON Patch 語法來修改 JSON 字段。這提供了更高的靈活性和控制性。語法如下:
JSON_MODIFY(json_column, json_patch)
登錄后復制
例如,要在 data JSON 字段中向 tags 數組添加一個新元素 “sports”, 可以使用以下語句:
UPDATE table_name SET data = JSON_MODIFY(data, '$.tags', JSON_ARRAY_APPEND(data.tags, 'sports'))
登錄后復制
方法 4:使用 JSON_REMOVE() 函數
JSON_REMOVE() 函數允許您從 JSON 字段中刪除特定路徑。語法如下:
JSON_REMOVE(json_column, path)
登錄后復制
例如,要從 data JSON 字段中刪除 details 字段,可以使用以下語句:
UPDATE table_name SET data = JSON_REMOVE(data, '$.details')
登錄后復制