Задать вопрос
Kommov
@Kommov

Как сделать массовый апдейт/инсерт в SQLite без обнуления неуказанных в запросе полей?

Прошу помощи знатоков SQLite в решении следующей задачки :)
Есть таблица Table1. В ней 4 колонки: id (уникальна), doc, name, info:
5c951c67679ca736068707.png

В ней, допустим, лежат следующие значения:
5c951ca965f30636800231.png

Мне нужно сделать массовый апдейт УКАЗАННЫХ в запросе полей. Я делаю его следующим образом:
5c951edf0e535531328339.png

Всё бы хорошо, но только все не указанные поля, в этом случае обнуляются. Результат после запроса:
5c951ef5887c0533082313.png

Как видно, колонка info стала null. Есть ли способ сделать так, чтоб апдейт или инсерт сработал только для указанных полей? Вариант с одним запросом для каждого id - не подходит. Так же, предварительно получить значения неуказанных столбцов - тоже не получится, так как все данные подтягиваются извне.
  • Вопрос задан
  • 151 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
UPDATE Table1 SET name = ‘newname1’ WHERE id = 1;
И так далее...
А так Вы только вставляете (заменяете) строки, а не обновляете значения.
Для массовой модификации в конкретно этом примере:
UPDATE Table1 SET name = ("new"+name);
В конце-концов ознакомтесь с Заметки на полях о sqlite3
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽