mysql 如何修改JSON字段中的一部分参数值

在 MySQL 中修改 JSON 对象中的一部分值可以使用一些内置的 JSON 函数来实现。假设你有一个包含 JSON 数据的列,你可以使用 JSON_SET() 函数来更新其中的某个字段。

假设你有一个表 my_table,其中有一个 json_column 列包含 JSON 数据,示例数据如下:

{"name": "John","age": 30,"address": {"city": "New York","state": "NY"}
}

现在,假设你想更新 address 对象中的 city 字段为 “San Francisco”。你可以使用 JSON_SET() 函数来实现:

UPDATE my_table
SET json_column = JSON_SET(json_column, '$.address.city', 'San Francisco')
WHERE id = 1;

如果要更新的字段不存在,JSON_SET() 函数会自动创建它。

在举个例子,json如下:

{"id": 1726768430132957191,"col": 8,"data": "","canSee": true,"isValid": "Y","maxSize": 20,"dataJson": null,"dictType": "","disabled": false,"formHide": true,"isDelete": true,"tenantId": 1702555882876141569,"optionArr": [{"label": "系统生成","value": "SYSTEM","showClose": null}, {"label": "通用模板","value": "MANUAL","showClose": null}]}

要更新 optionArr 数组中的一个元素的 label 字段。在 JSON 中,optionArr 是一个数组,因此你需要使用 JSON path 来指定要更新的具体元素。在 MySQL 中,数组的索引从0开始。

下面是更新语句需要进行的调整:

UPDATE lc_template_table
SET module_meta = JSON_SET(module_meta, '$.optionArr[0].label', '实验生成')
WHERE id = 1;

同时想将optionArr[1]…label 修改成“通用模板 ” 怎么修改呢

UPDATE lc_template_table
SET module_meta = JSON_SET(JSON_SET(module_meta, '$.optionArr[0].label', '实验生成'),'$.optionArr[1].label', '通用模板'
)
WHERE id = 1;

在这个更新语句中:

JSON_SET() 函数被嵌套使用。外部的 JSON_SET() 用来更新整体的 module_meta JSON 对象。
内部的 JSON_SET() 分别用来更新 optionArr 数组中的两个元素的 label 字段。
第一个 JSON_SET() 更新 optionArr[0].label 为 ‘实验生成’。
第二个 JSON_SET() 更新 optionArr[1].label 为 ‘通用模板’。
这样就可以一次性修改多个元素的值。记得根据实际情况调整数组元素的索引,确保更新到正确的位置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年平面设计软件:六大选择

无论是与营销还是产品设计,平面设计都是当今各个行业不可或缺的一部分。然而,随着平面设计软件的范围和复杂性的不断扩展,设计师和业余用户可能更难知道哪些工具最能满足他们的需求。 本文将分析当今流行的分析 6 个平面设计 App&#xff0c…

mac清理软件哪个好用免费 MacBook电脑清理软件推荐 怎么清理mac

随着使用时间的增长,mac电脑会积累一些不必要的垃圾文件,这些文件会占用宝贵的存储空间,影响电脑的运行速度和稳定性。因此,定期清理mac电脑的垃圾文件是非常有必要的。市场上有许多优秀的Mac清理软件,包括一些出色的国…

AI产品经理怎样入门?

AI产品经理需要熟悉AI基础知识,包括AI行业现状,数学统计学,AI模型构建和模型基本概念。 之所以需要具备这些知识,是因为实现AI产品必然会涉及相应的AI技术,如果AI产品经理不了解相应技术基础,就不能很好的…

photoshop学习笔记——移动工具

移动工具,可以对图层进行移动,快捷键 V 使用的素材已经放上了,直接下载即可 按住ctrl 可以自动选取,鼠标点击哪个对象,自动选中哪个图层 按住 shift 校正角度(只能沿着直线移动) 按住 alt 拖…

llama模型,nano

目录 llama模型 Llama模型性能评测 nano模型是什么 Gemini Nano模型 参数量 MMLU、GPQA、HumanEval 1. MMLU(Massive Multi-task Language Understanding) 2. GPQA(Grade School Physics Question Answering) 3. HumanEval llama模型 Large Language Model AI Ll…

长期更新方法库推荐pmq-ui

# pmq-ui pmq-ui 好用方法库ui库, 欢迎您的使用 ## 安装 1. 克隆项目库到本地&#xff1a; 2. 进入项目目录&#xff1a;cd pmq-ui 3. 安装依赖&#xff1a;npm install pmq-ui ## 使用 <!-- 1. 启动应用&#xff1a; 2. 访问 [http://localhost:3000](http://localhost:300…

网络七层协议之 网桥、网卡、交换机、路由器、网关 作用

OSI七层模型 和 TCP/IP四层模型 数据传输单位、对应的设备 物理层&#xff1a;网线 数据链路层&#xff1a;网卡、网桥、交换机 网路层&#xff1a;路由器、网关 网卡的作用 网卡(Network Interface Card, NIC)是计算机上用于连接网络的硬件设备。 网卡是计算机连接网络、传…

机器学习实战笔记5数据标准化

1.读取csv文件实现特征化 import numpy as np import pandas as pd from sklearn.preprocessing import StandardScaler StandardScaler是一个用于标准化特征的工具&#xff0c;通过移除均值并缩放到单位方差来实现。 df pd.read_csv("./p039.csv") df scaler S…

windows10 安装CUDA教程

如何在windows10系统上安装CUDA? 1、查看电脑的NVIDIA版本 nvidia-smi 2、官网下载所需CUDA版本 官网地址:https://developer.nvidia.com/cuda-toolkit-archive 我们所安装的CUDA版本需要小于等于本机电脑的NVIDIA版本。推荐使用迅雷下载,速度会更快哦。 3、安装步骤

《你敢不学习?》numpy库——细细学<2>

续接上集: 1、reshape函数&#xff1a;重塑数组的形状 改变数组的维度 其语法为 numpy.reshape(arr, newshape, orderC) 如下图所示 首先生成一个1到17不包括17的16个元素的数组&#xff0c;然后对这个数组进行重塑&#xff0c;使其成为4行4列的二维数组&#xff0c;注意&…

Vue2成绩案例

1.渲染功能 2.删除功能 3.添加功能 4.统计总分&#xff0c;求平均分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…

性价比之争:上海闵行装修公司性价比大比拼

在繁华的上海&#xff0c;装修市场的竞争愈发激烈&#xff0c;业主们在追求品质的同时更加注重性价比。今天&#xff0c;我们就来对比几家知名的上海装修公司&#xff0c;看看哪家能在性价比之战中脱颖而出。 1.即住空间装饰即住空间以其“高质量、高效率”而被受消费者好评&a…

Python 使用TCP\UDP协议创建一个聊天室

server端代码&#xff1a; #encodingutf-8 # 服务端代码 import socketdef server():server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)host socket.gethostname()port 12345server_socket.bind((host, port))server_socket.listen(5)print(等待客户端连接…

C++学习笔记03-对象和类(问题-解答自查版)

前言 以下问题以Q&A形式记录&#xff0c;基本上都是笔者在初学一轮后&#xff0c;掌握不牢或者频繁忘记的点 Q&A的形式有助于学习过程中时刻关注自己的输入与输出关系&#xff0c;也适合做查漏补缺和复盘。 本文对读者可以用作自查&#xff0c;答案在后面&#xff0…

C#,.NET常见算法

1.递归算法 1.1.C#递归算法计算阶乘的方法 using System;namespace C_Sharp_Example {public class Program{/// <summary>/// 阶乘&#xff1a;一个正整数的阶乘Factorial是所有小于以及等于该数的正整数的积&#xff0c;0的阶乘是1&#xff0c;n的阶乘是n&#xff0…

python基础知识点(蓝桥杯python科目个人复习计划71)

做些简单题 第一题&#xff1a;确定字符串是否包含唯一字符 题目描述&#xff1a; 实现一个算法来识别一个字符串的字符是否是唯一的。 若唯一输出YES&#xff0c;否则输出NO。 输入描述&#xff1a; 输入一个字符串&#xff0c;长度不超过100. 输出描述; 输出一行&…

高效部署Modbus转MQTT网关:Modbus RTU、Modbus TCP转MQTT

钡铼Modbus转MQTT网关&#xff0c;简而言之&#xff0c;就是通过将Modbus协议&#xff08;包括Modbus RTU和Modbus TCP&#xff09;的数据转换为MQTT协议的数据格式&#xff0c;从而实现设备数据的上传和云端控制指令的下发。这一转换过程使得设备能够与基于MQTT协议的云平台进…

c++ linux通过实现独立进程之间的通信和传递字符串 demo

#include <iostream> #include <cstring> #include <fcntl.h> #include <sys/stat.h> #include <unistd.h>const char* PIPE_NAME "/tmp/my_pipe";int main() {// 创建命名管道mkfifo(PIPE_NAME, 0666);pid_t childPid fork();if (c…

Harmony Next -- 通用标题栏:高度自定义,可设置沉浸式状态,正常状态下为:左侧返回、居中标题,左中右均可自定义视图。

hm_common_title_bar OpenHarmony三方库中心仓&#xff1a;https://ohpm.openharmony.cn/#/cn/detail/common_title_bar 介绍 一款通用标题栏&#xff0c;支持高度自定义&#xff0c;可设置沉浸式状态&#xff0c;正常状态下为&#xff1a;左侧返回、居中标题&#xff0c;左…

Vue3分段控制器(Segmented)

效果如下图&#xff1a;在线预览 APIs Segmented 参数说明类型默认值必传block是否将宽度调整为父元素宽度&#xff0c;同时所有选项占据相同的宽度booleanfalsefalsedisabled是否禁用booleanfalsefalseoptions选项数据string[] | number[] | SegmentedOption[][]falsesize控…