MST
星途 面试题库

面试题:Python使用with语句处理复杂数据库事务场景

假设你需要在Python中使用with语句处理数据库连接来完成一个复杂的事务,该事务涉及多个表的插入、更新操作,并且需要处理可能出现的异常以保证数据的一致性,用代码示例说明你会如何实现。
24.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import sqlite3

try:
    with sqlite3.connect('example.db') as conn:
        cursor = conn.cursor()
        # 第一个表插入操作
        cursor.execute('INSERT INTO table1 (column1, column2) VALUES (?,?)', ('value1', 'value2'))
        # 第二个表更新操作
        cursor.execute('UPDATE table2 SET column3 =? WHERE condition =?', ('new_value', 'condition_value'))
        # 提交事务
        conn.commit()
except sqlite3.Error as e:
    print(f"数据库操作出现错误: {e}")
    # 如果出现异常,回滚事务
    if conn:
        conn.rollback()