Как обработать ошибку SQLlite?

Доброго времени суток друзья.
Я получаю данные из массива и обновляю их через UPDATE со строками в БД по значению name.
Иногда, появляются новые записи и мне нужно их не обновить, а добавить. Как перехватить (как называется) ошибка, которая поможет мне выявить то, что в БД нет записи с таким name, его нужно добавить.
  • Вопрос задан
  • 75 просмотров
Решения вопроса 2
@rPman
при обновлении тебе должны вернуть количество измененных записей cursor.rowcount, так что смотри и да, 0 - это не ошибка.
Ответ написан
Комментировать
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Такая конструкция называется UPSERT:
INSERT INTO VALUES ON CONFLICT DO UPDATE SET ;

INSERT INTO table_1 (name, quantity) 
VALUES ('Name1', 1), ('Name2', 1) 
ON CONFLICT (name) DO UPDATE SET quantity = quantity + 1
;


SQLite test
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы