阅读量:0
在Python中,可以使用sqlite3库来处理SQLite数据库的事务。以下是一个示例代码,展示了如何在Python中使用sqlite3库进行事务处理:
import sqlite3 # 连接到数据库 conn = sqlite3.connect('example.db') cursor = conn.cursor() try: # 开始事务 cursor.execute("BEGIN TRANSACTION") # 执行SQL语句 cursor.execute("INSERT INTO test (col1, col2) VALUES (?, ?)", values1) cursor.execute("INSERT INTO test (col1, col2) VALUES (?, ?)", values2) # 提交事务 conn.commit() except: # 发生异常,回滚事务 conn.rollback() raise finally: # 关闭游标和连接 cursor.close() conn.close()
在上面的示例代码中,我们首先连接到名为example.db的SQLite数据库。然后,我们使用cursor对象执行SQL语句,并使用BEGIN TRANSACTION开始事务。接下来,我们执行了两个INSERT语句,将数据插入到test表中。最后,我们使用conn.commit()提交事务。
如果在执行SQL语句时发生异常,我们会捕获该异常并使用conn.rollback()回滚事务。这样可以确保数据的一致性,避免因为异常而导致的数据不一致问题。
无论是否发生异常,我们都会在finally块中使用cursor.close()关闭游标,并使用conn.close()关闭数据库连接。这样可以确保资源的正确释放,避免资源泄漏问题。