int sqlite3_total_changes(sqlite3 *);
此函数返回自打开数据库连接以来已完成的所有INSERT,UPDATE或DELETE语句插入,修改或删除的行总数,包括作为触发器程序一部分执行的行。执行任何其他类型的SQL语句都不会影响sqlite3_total_changes()返回的值。
作为外键动作的一部分所做的更改包括在计数中,但作为REPLACE约束解决方案的一部分所做的更改不包括在内。被INSTEAD OF触发器拦截的视图更改不计算在内。
该sqlite3_total_changes(d)接口只报告改变由于SQL语句的运行对数据库连接D.其他数据库连接的任何改变都将被忽略的行数。要检测来自其他数据库连接的数据库文件的更改,请使用PRAGMA data_version命令或 SQLITE_FCNTL_DATA_VERSION 文件控件。
如果在运行sqlite3_total_changes()时,一个单独的线程在同一数据库连接上进行了更改,则返回的值是不可预测的,并且没有意义。
也可以看看: