执行UPDATE
和INSERT
等SQL语句时,.fetch*()
实例上的常用Cursor
方法显然不适用于的数量修改了行。
如果执行上述某个语句,获取Python中相应行数的正确方法是什么,以及Sqlite3 C接口中相应的API是什么?
答案 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
。
我认为它返回的是匹配的行