python 事务操作

    技术2022-07-17  80

    python的事务操作

    需求背景实现思路代码实现

    需求背景

    自己在写flask项目时,一个接口要对数据库进行多次操作,在项目使用过程中,发现用户进行操作后,在代码执行过程中会报错,但是数据库没有回滚,导致部分功能没有完全执行

    实现思路

    获取数据库的链接,捕获该接口对数据的操作逻辑 如果在这其中有部分逻辑出了问题,则在expect中回滚

    代码实现

    try: insertSQL0="INSERT INTO ACCOUNT2 (name,balance) VALUES ('oldboy',4000)" insertSQL1="UPDATE account2 set balance=balance-30 WHERE name='yuan'" insertSQL2="UPDATE account2 set balance=balance+30 WHERE name='xialv'" cursor = conn.cursor() cursor.execute(insertSQL0) conn.commit() cursor.execute(insertSQL1) raise Exception cursor.execute(insertSQL2) cursor.close() conn.commit() except Exception as e: conn.rollback() conn.commit()
    Processed: 0.013, SQL: 9