villiwalla
@villiwalla
HTML-верстка

Как узнать сколько строк было добавлено в БД?

Получаю массив пользователей из AD и записываю этот массив в БД через цикл. В таблице есть колонка ad_id где записывается уникальный код юзера из AD, сама колонка может иметь только уникальное значение, по этому если повторно приходят 5 юзеров то выкидывает ошибку, о, не уникальности ad_id и ничего не записывает. Если отправить 6 шт юзеров, то 5 юзеров не будет записаны но 1 юзер в БД добавится, но на экран выведет ошибку о не уникальности данных.

Подскажите,
  1. Как можно узнать сколько было добавлено строк в БД (SQLite3)?
  2. Сколько было добавлено строк в БД за исключение тех которые уже есть в БД?
  3. При условии что колонка в таблице БД, не даст записать юзера если его ad_id не уникально, при этом условии необходимо ли делать дополнительную проверку на уникальность юзера?
UPD:
..."в таблице и так есть колонка "id INT AI" + колонка "ad_id INT UNIQUE". "СУБД так не работают" - тогда как после записи (например: синхронизация с 1С, импорт из CSV/XML/xlsx и т.п) в БД, выводят данные, Всего: N; Повторов: N; Добавлено: N; Не добавлено: N;Обновлено: N. С добавлением и не добавлением вроде более менее представил, просто каждый false от execute плюсую счётчик и на каждый true тоже плюсую счётчик, с вытекающими для Всего. А как быть с Обновлено, Повторов? Пока писал, вроде сам себе ответил на свои вопросы, почти :)"...
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
INSERT IGNORE позволит тебе не маяться фигней
Ответ написан
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
1. Count после, минус Count до - вот вам и сколько вставилось
2. не понял, а чем это отличается от вопроса 1?
3. нет. БД сама не запишет.
Ответ написан
Ваш ответ на вопрос

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

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