Общее количество изменённых строк
int sqlite3_total_changes(sqlite3*); sqlite3_int64 sqlite3_total_changes64(sqlite3*);
Эти функции возвращают общее количество строк, добавленных, изменённых или удалённых всеми операторами ВСТАВКИ, ОБНОВЛЕНИЯ или УДАЛЕНИЯ, выполненных с момента открытия соединения с базой данных, включая те, что были выполнены в рамках программ триггеров. Эти две функции идентичны, за исключением типа возвращаемого значения, и если количество изменённых строк соединением превышает максимальное значение, поддерживаемое типом "int", то возвращаемое значение sqlite3_total_changes() не определено. Выполнение любого другого типа SQL-запроса не влияет на возвращаемое значение sqlite3_total_changes().
Изменения, внесённые в рамках действий с внешними ключами, включаются в счёт, но те, что внесены в рамках разрешения ограничения REPLACE, нет. Изменения в представлении, которые перехватываются триггерами INSTEAD OF, не учитываются.
Интерфейс sqlite3_total_changes(D) сообщает только о количестве строк, изменённых в результате выполнения SQL-запросов с базой данных D. Любые изменения другими базами данных игнорируются. Чтобы обнаруживать изменения в файле базы данных со стороны других соединений, используйте команду PRAGMA data_version или SQLITE_FCNTL_DATA_VERSION управление файлами.
Если отдельный поток вносит изменения в то же соединение с базой данных во время выполнения sqlite3_total_changes(), то возвращаемое значение является непредсказуемым и не имеет смысла.
См. также:
- интерфейс sqlite3_changes()
- pragma count_changes
- SQL-функцию changes()
- pragma data_version
- SQLITE_FCNTL_DATA_VERSION управление файлами
См. также списки Объектов, Констант и Функций.
SQLite is in the Public Domain.
https://sqlite.org/c3ref/total_changes.html