Eu tenho o seguinte registro json e estou tentando atualizar o valor 'counter2' para 2000 usando a função JSON_MODIFY. A consulta não lança nenhuma exceção, mas ao mesmo tempo o valor não está sendo atualizado.
Dados da Tabela:
Dados Json:
[ {"counter1": 9,
"counter2": 1000,
"counter3": 109 }]
SQL:
UPDATE test01
set json_data = JSON_MODIFY(json_data,'$.counter2',2000)
where test01_id =10
Estou faltando alguma coisa aqui?
Suas propriedades 'counter' estão em um objeto dentro de uma matriz, portanto, seu caminho JSON em JSON_MODIFY não está correto. Você precisa fazer referência ao índice do item na matriz para atualizar corretamente o valor:
Se você tivesse objetos adicionais no array com valores de contador 1/2/3 diferentes, então você precisaria referenciá-los com seu índice correto, ou seja, [1], [2] e assim por diante. Você pode ver um exemplo funcional disso aqui .