簡體   English   中英

MySql JSON:查找和替換列值

[英]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"}'
); 

MariaDB 小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM