У меня есть объект JSON в столбце таблицы SQLite, и мне нужно изменить значение ключа:
Я хочу получить:
Могу ли я сделать это с помощью SQL-запроса? Если нет, то как это сделать в Node.js с минимальным количеством кода?
Вам нужна функция json_replace():
UPDATE tablename
SET col = json_replace(col, '$.foo', 'changed_value')
Измените tablename
и col
на названия таблицы и столбца, которые у вас есть.
Возможно, вам также понадобится предложение WHERE
для фактических строк, которые вы хотите обновить.
Смотрите демо.
Спасибо за ссылку на документы sqlite! Там я нашел функцию json_set, которая добавляет новую пару ключ:значение, если она не существует.