使用 JSON_SET 更新简单的 JSON 数据类型没有问题,但使用嵌套它就行不通了。
查询应该如何使用如下格式:
{
"textures":[
{
"label":"test",
"types":{
"t_1":0,
"t_2":0
}
},
{
"label":"KEK",
"types":{
"t_1":0,
"t_2":0
}
}
],
"weapons":[
{
"name":"WW_SHT",
"ammo":0
},
{
"name":"WW_DSS",
"ammo":0
}
]
}
有些行可能是空的,有些行没有“武器”结构。
我尝试了什么:
UPDATE `player` SET `info` = COALESCE(
JSON_MERGE(
`info`,
JSON_OBJECT('textures',
JSON_OBJECT('types',
JSON_OBJECT('t_1', '1', 't_2', '0')
)
)
),
JSON_INSERT(
JSON_OBJECT(),
'$.textures',
JSON_OBJECT('types',
JSON_OBJECT('t_1', '1', 't_2', '0')
)
)
);
我想更新 t_1 以将值从 0 更改为 1