You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中提取JSON列的ar属性值并替换原有JSON内容?

MySQL提取JSON字段中ar属性的实现方案

验证查询(执行更新前先运行确认结果符合预期)

你可以先运行以下查询查看提取后的结果,确认没问题再执行更新:

-- 写法1:使用完整JSON函数
SELECT id, JSON_UNQUOTE(JSON_EXTRACT(name, '$.ar')) AS extracted_ar FROM areas;

-- 写法2:使用MySQL简化语法,和写法1效果完全一致
SELECT id, name->>'$.ar' AS extracted_ar FROM areas;

执行更新操作

确认查询结果符合要求后,运行以下UPDATE语句修改name字段内容:

UPDATE areas SET name = name->>'$.ar';

注意事项

  • 操作前必须先备份全表数据,避免修改出错无法回滚,备份语句参考:
    CREATE TABLE areas_bak_2024 AS SELECT * FROM areas;
    
  • 上述语法仅支持MySQL 5.7及更高版本,低于该版本的MySQL不支持原生JSON处理函数
  • 如果你不确定所有行的name都是合法JSON、且都存在ar属性,可以先查询异常数据提前处理:
    SELECT * FROM areas 
    WHERE JSON_VALID(name) = 0 
       OR JSON_CONTAINS_PATH(name, 'one', '$.ar') = 0;
    

内容的提问来源于stack exchange,提问作者ser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 09:24:00