import sqlite3
def transfer_data():
try:
# 连接到SQLite数据库
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
# 开启事务
conn.execute('BEGIN')
# 从table1中查询value1大于10的记录
cursor.execute('SELECT value1 FROM table1 WHERE value1 > 10')
results = cursor.fetchall()
# 将查询结果的value1值翻倍后插入到table2中
for row in results:
doubled_value = row[0] * 2
cursor.execute('INSERT INTO table2 (value2) VALUES (?)', (doubled_value,))
# 提交事务
conn.execute('COMMIT')
print("数据转移成功")
except sqlite3.Error as e:
# 发生异常时回滚事务
if conn:
conn.execute('ROLLBACK')
print(f"数据库操作出现错误: {e}")
finally:
# 关闭数据库连接
if conn:
conn.close()
if __name__ == "__main__":
transfer_data()