mysql - 在 MySQL 中的特定字符之前将字符串添加到列值
问题描述
想象一下,我有一个表,其中有一个Params列,它包含我的画廊的设置。我想使用 MySQL 查询自动添加 2 个其他属性。我已经测试了这个查询,但它会在不正确的列值的第一个添加我的新属性:
UPDATE table
SET params=CONCAT(', "slider_fullscreen_button_skin": "myTheme", "slider_zoompanel_skin": "myTheme"',params)
WHERE params NOT LIKE '%myTheme%';
假设我的专栏中有这个值:
{"title":"Bessariabian","alias":"Bessariabian","category":"1103","full_width":"false"}
我希望我的价值改变成这样:
{"title":"Bessariabian","alias":"Bessariabian","category":"1103","full_width":"false", "slider_fullscreen_button_skin": "myTheme", "slider_zoompanel_skin": "myTheme"}
我想做一个查询,在}位置之前的值末尾添加新属性。我该如何处理?
解决方案
- 使用Substring_Index()函数在第一次出现
}
. - 现在,Concat()这个子字符串和你需要的字符串,
}
最后。
尝试:
UPDATE table
SET params = CONCAT(
SUBSTRING_INDEX(params, '}', 1),
', "slider_fullscreen_button_skin": "myTheme", "slider_zoompanel_skin": "myTheme"',
'}'
)
WHERE params NOT LIKE '%myTheme%';
推荐阅读
- java - 给定一个整数数组(长度为 n),使用 Java 中的递归查找并返回输入数组的所有子集
- html - 响应式 MaterializeCSS 设计
- java - 使用后置摄像头的人脸检测无法使用 camera2 API 正常工作
- python - 想要在数据被屏蔽时创建一个零数组,在数据未被屏蔽时创建一个数组
- python-3.x - 如何使用 python 检查是否在 Ubuntu 上安装了一个包
- python - 向python函数添加条件
- sql - Datagrid 不会随着使用 SELECT 语句创建的表的更改而动态更新
- python - 如何使用 python 中的“Dijkstra 算法”在图中遍历以找到源和目标之间的最短路径?
- python - 我可以在 python 中创建一个 txt 文件,名称为变量的字符串值吗?
- html - 如何批量删除段落中的不同文本值