获取sqlite3执行后的修改行数

时间:2010-02-23 03:55:20

标签: python c sqlite

执行UPDATEINSERT等SQL语句时,.fetch*()实例上的常用Cursor方法显然不适用于的数量修改了行

如果执行上述某个语句,获取Python中相应行数的正确方法是什么,以及Sqlite3 C接口中相应的API是什么?

2 个答案:

答案 0 :(得分:26)

使用UPDATE或INSERT语句调用Cursor.execute*()方法后,可以使用Cursor.rowcount查看执行调用影响的行数。

如果我不得不猜测我会说python lib是从C API调用int sqlite3_changes(sqlite3*)但是我没有查看代码,所以我不能肯定地说。

答案 1 :(得分:0)

假设表test(rowid, value)如下。 (1,' 3') (2,' a') 执行update test set value = '3' where rowid=1后。 Cursor.row=1。 我认为它返回的是匹配的行