Python中使用Sqlite进行事务操作的示例
发表时间: 2023-09-07 18:24
以下是一个使用Python和SQLite进行多表数据写入的简单示例,使用了事务来确保数据的一致性:
import sqlite3# 连接到SQLite数据库conn = sqlite3.connect('mydatabase.db')# 创建游标cursor = conn.cursor()try: # 开始事务 conn.execute('BEGIN TRANSACTION') # 执行插入操作 cursor.execute("INSERT INTO table1 (column1, column2) VALUES (?, ?)", ('value1', 'value2')) cursor.execute("INSERT INTO table2 (column1, column2) VALUES (?, ?)", ('value3', 'value4')) # 提交事务 conn.commit() print("事务提交成功")except Exception as e: # 回滚事务 conn.rollback() print("事务回滚:", str(e))finally: # 关闭游标和连接 cursor.close() conn.close()
在这个例子中,我们首先使用sqlite3库连接到SQLite数据库。然后,我们创建一个游标来执行SQL语句。
在try块中,我们开始事务,通过执行conn.execute('BEGIN TRANSACTION')来实现。然后,我们使用cursor.execute()方法执行插入操作,将数据插入到table1和table2中。
如果所有的插入操作都成功执行,我们使用conn.commit()提交事务,并打印出"事务提交成功"的消息。
如果在执行插入操作时出现任何异常,我们使用conn.rollback()回滚事务,并打印出"事务回滚"的消息,同时打印出异常信息。
最后,我们关闭游标和连接。
请注意,您需要根据您的实际情况替换示例中的数据库文件名、表名和列名。
此外,您还需要根据您的表结构和数据进行适当的更改。