想象一下,我有一个表,其中有一个 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"}
我想进行查询,将新属性添加到} 位置之前的值的末尾。 我该如何处理?
答案 0 :(得分:1)
}
首次出现之前获取子字符串。}
。尝试:
UPDATE table
SET params = CONCAT(
SUBSTRING_INDEX(params, '}', 1),
', "slider_fullscreen_button_skin": "myTheme", "slider_zoompanel_skin": "myTheme"',
'}'
)
WHERE params NOT LIKE '%myTheme%';