RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Общее количество измененных строк

int sqlite3_total_changes(sqlite3*);
sqlite3_int64 sqlite3_total_changes64(sqlite3*);

Эти функции возвращают общее количество строк, вставленных, измененных или удаленных всеми INSERT, UPDATE или DELETE с момента, когда соединение с базой данных было открыто, включая выполненные как часть триггеров. Две функции идентичны за исключением типа возвращаемого значения и того что, если количество строк, измененных связью, превышает максимальное значение, поддержанное типом "int", возвращаемое значение sqlite3_total_changes() не определено. Выполнение любого другого типа SQL-оператора не затрагивает значение, возвращенное sqlite3_total_changes().

Изменения, внесенные как часть действий внешнего ключа, включены в количество, но сделанные как часть ограничительной резолюции REPLACE не включены. Изменения представления, которые перехвачены триггерами INSTEAD OF, не посчитаны.

sqlite3_total_changes(D) сообщает только о количестве строк, которые изменились из-за SQL-оператора, которым управляют для соединения с базой данных D. Любые изменения другими соединениями с базой данных проигнорированы. Чтобы обнаружить изменения файла базы данных от других соединений с базой данных используют PRAGMA data_version или SQLITE_FCNTL_DATA_VERSION file control.

Если отдельный поток вносит изменения на том же самом соединении с базой данных, в то время как работает sqlite3_total_changes(), возвращенное значение непредсказуемо и не значащее.

См. также: