为什么我们在执行后需要connector.commit()?

时间:2010-09-10 18:40:27

标签: python sqlite

我有一个运行查询命令的SQLite / Python代码,如下所示。

def queryDB(self, command_):_
    self.cursor.execute(command_)
    self.connector.commit() # <---- ???
    ...

效果很好,但我有一些问题。

  • 为什么需要connector.commit()?它做了什么?
  • cursor.execute()做什么?

1 个答案:

答案 0 :(得分:2)

根据此网站:http://www.amk.ca/python/writing/DB-API.html

“对于支持事务的数据库,Python接口在创建游标时静默启动事务.admit()方法提交使用该游标进行的更新,rollback()方法丢弃它们。然后每个方法启动一个一些数据库没有事务,但只是在执行时应用所有更改。在这些数据库上,commit()不执行任何操作,但您仍应调用它以便与那些支持事务的数据库兼容。“