Small. Fast. Reliable.
Choose any three.

SQLite C接口

总行数已修改

int sqlite3_total_changes(sqlite3 *);

此函数返回自打开数据库连接以来已完成的所有INSERTUPDATEDELETE语句插入,修改或删除的行总数,包括作为触发器程序一部分执行的行。执行任何其他类型的SQL语句都不会影响sqlite3_total_changes()返回的值。

作为外键动作的一部分所做的更改包括在计数中,但作为REPLACE约束解决方案的一部分所做的更改不包括在内。被INSTEAD OF触发器拦截的视图更改不计算在内。

sqlite3_total_changes(d)接口只报告改变由于SQL语句的运行对数据库连接D.其他数据库连接的任何改变都将被忽略的行数。要检测来自其他数据库连接的数据库文件的更改,请使用PRAGMA data_version命令或 SQLITE_FCNTL_DATA_VERSION 文件控件

如果在运行sqlite3_total_changes()时,一个单独的线程在同一数据库连接上进行了更改,则返回的值是不可预测的,并且没有意义。

也可以看看:

另请参见 对象常量函数的列表