确定哪些语句“查询”与“修改”的最可靠方法是什么?例如,SELECT
与UPDATE / INSERT / CREATE
。
自己解析声明似乎是明显的第一次尝试,但我不禁想到这将是一个片状的解决方案。只是在开始时查找SELECT
不起作用,因为PRAGMA也可以返回结果,并且我确信策略可能有多种失败方式。测试从游标返回的零行也不起作用,因为SELECT显然可以返回零结果。
我正在通过Python sqlite3模块使用SQLite。
答案 0 :(得分:1)
使用sqlite3_changes API调用,该调用也可以使用changes函数从SQL获得。
正如TokenMacGuy所提到的,您可以回滚包含导致更改的语句的事务;如果有必要,sqlite3_changes
函数会通知您。
如果您需要有关受影响的表和行的更精细信息,还有update_hook回调。