[英]MySql JSON: find and replace column value
在我的 MySQL 數據庫中,表名size_color_chart包含具有 JSON 數據類型的圖表列。
表數據樣本
id | chart
---+------------------------------------------------+
1 | [{"size":"XL", "color":"Red", "price":"300"}, |
| {"size":"XXL", "color":"Red", "price":"400"}, |
| {"size":"XXL", "color":"Blue", "price":"450"}]|
-----------------------------------------------------
我想用尺寸和顏色替換價格數據。 例如 XXL 尺寸和紅色價格需要更新價格 410。
如果 JSON 具有已知結構,您可以使用字符串函數,例如REGEXP_REPLACE來更新 JSON 數據:
update t
set chart = REGEXP_REPLACE(
chart,
'{"size":"XXL", "color":"Red", "price":"[0-9]+"}',
'{"size":"XXL", "color":"Red", "price":"410"}'
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.