使用InnoDB引擎时,通过START TRANSACTION开启事务,执行SQL操作后根据结果COMMIT提交或ROLLBACK回滚,确保数据一致性,如转账场景中两步更新要么全成功要么全失败。
在 MySQL 中使用事务,主要是为了确保一组数据库操作要么全部成功,要么全部失败,从而保证数据的一致性。事务的使用依赖于支持事务的存储引擎,最常用的是 InnoDB。
默认情况下,MySQL 是自动提交模式(autocommit = 1),即每条 SQL 语句执行后会立即提交。要使用事务,需要先关闭自动提交,手动控制事务边界。
START TRANSACTION; 或 BEGIN;在事务中执行你需要的增删改查操作。例如:
'Alice';这些操作不会立即生效,除非你提交事务。
根据业务逻辑判断是否完成所有操作:
假设 Alice 给 Bob 转账 200 元,需保证两步更新都成功,否则都不执行:
START TRANSACTION;如果中间发生错误(如余额不足、连接中断等),执行 ROLLBACK 可恢复原始状态。
基本上就这些。只要用 InnoDB 引擎,合理使用 START TRANSACTION、COMMIT 和 ROLLBACK,就能有效管理事务。注意避免长时间不提交事务,以免锁资源影响性能。