mysql事务&回滚

 使用前注意:

1. 数据引擎是否是InnoDB

2. 是否启动了自动提交功能 


开始:START TRANSACTION或BEGIN语句可以开始一项新的事务

回滚:ROLLBACK可以回滚当前事务,取消其变更

提交:COMMIT可以提交当前事务,是变更成为永久变更

此外,SET AUTOCOMMIT = {0 | 1} 可以禁用或启用默认的autocommit模式,用于当前连接。

try:
    start_transaction()   # START TRANSACTION
    do something...       # something 是一系列操作(类似pipeline),具有原子性
except Exception as e:
    logger.error(str(e))
    rollback()            # ROLLBACK
finally:
    commit()              # COMMIT



不光是try .. 任何条件不满足都可以回滚



你可能感兴趣的:(mysql事务&回滚)