SQLite C 接口

修改的总行数

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

这些函数返回自数据库连接打开以来完成的所有INSERTUPDATEDELETE语句 插入、修改或删除的行总数,包括那些作为触发器程序的一部分执行的行。这两个函数除了返回值的类型不同,如果连接修改的行数超过“int”类型支持的最大值,那么sqlite3_total_changes()的返回值是未定义的。执行任何其他类型的 SQL 语句不会影响 sqlite3_total_changes() 返回的值。

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

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

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

也可以看看:

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