如何更新嵌套元素的第3个元素(像JSON一样)?

时间:2016-11-28 18:37:48

标签: mysql sql

我目前有一个MySQL表格如下:

|| ID || Name || handling                             || enabled || 
|| 1  || bob  || { 2 { 4, 7, 0.2 } 7 { 20.102, 3 } }  || 1       ||
|| 2  || abc  || { 6 { 4, 9, 0.6 } 7 { 20.102, 83 } } || 1       ||
|| 3  || xyz  || { 2 { 4, 78, 0.2 } 7 { 20.102, 3 } } || 1       ||

我试图通过SQL查询找到一种方法来执行以下操作:

那里的第三个数字(身份1为7,身份2为9,身份3为78)必须更改为' 30'。我手动完成所有操作,但它是一张约。 5000行。我和#34;可以"在c ++中创建一个循环来完成所有操作,但由于某些技术原因,我宁愿使用SQL查询。

1 个答案:

答案 0 :(得分:0)

如果你知道要替换的部分总是在第一个和第二个逗号之间,那么你可以做一些字符串切片,如下所示:

更改1到2逗号之间的文字:

viewController1

更改7到8逗号之间的文字:

UPDATE TEST_TABLE6
SET A = CONCAT(SUBSTRING_INDEX(A,',',1),',','30',SUBSTRING(A, LENGTH(SUBSTRING_INDEX(A,',',2))+1));