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

如何在MySQL的JSON类型列中删除指定的键值对?

MySQL JSON字段移除嵌套键的更新方案

针对你要移除JSON字段中嵌套键的需求,可以直接使用MySQL的JSON_REMOVE()函数来实现。以下是两种可行的更新语句:

方法一(MySQL 8.0.17+ 推荐)

该版本及之后的MySQL支持在JSON_REMOVE()中传入多个路径参数,一次删除多个键:

UPDATE tableA
SET response = JSON_REMOVE(response, '$.contact.answers', '$.contact.tags')
WHERE id = 1;

方法二(兼容低版本MySQL)

如果你的MySQL版本低于8.0.17,需要嵌套调用JSON_REMOVE()来依次删除每个键:

UPDATE tableA
SET response = JSON_REMOVE(
    JSON_REMOVE(response, '$.contact.answers'),
    '$.contact.tags'
)
WHERE id = 1;

关键说明

  • $.contact.answers 是JSON路径表达式,用来定位到response字段里contact对象下的answers键,同理$.contact.tags定位到tags键。
  • 执行完更新后,可以用下面的语句验证结果:
SELECT response FROM tableA WHERE id = 1;

返回的结果就是你需要的{"event_id":"11111","contact":{"contact_id":"as2344","question_id":"67888"}}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:37:42