确定SQLite中非修改的修改语句

时间:2011-05-29 15:45:02

标签: python sqlite

确定哪些语句“查询”与“修改”的最可靠方法是什么?例如,SELECTUPDATE / INSERT / CREATE

自己解析声明似乎是明显的第一次尝试,但我不禁想到这将是一个片状的解决方案。只是在开始时查找SELECT不起作用,因为PRAGMA也可以返回结果,并且我确信策略可能有多种失败方式。测试从游标返回的零行也不起作用,因为SELECT显然可以返回零结果。

我正在通过Python sqlite3模块使用SQLite。

1 个答案:

答案 0 :(得分:1)

使用sqlite3_changes API调用,该调用也可以使用changes函数从SQL获得。

正如TokenMacGuy所提到的,您可以回滚包含导致更改的语句的事务;如果有必要,sqlite3_changes函数会通知您。

如果您需要有关受影响的表和行的更精细信息,还有update_hook回调。