📜 大致操作

  1. SET autocommit=0; -- 关闭事务
  2. SET autocommit=1; -- 开启事务(默认选项)
  3. -- 手动处理事务演示
  4. SET TRANSACTION; -- 标记一个事务的开始,从这个之后的sql都被划分为一个事务
  5. INSERT xx;
  6. INSERT xx;
  7. -- 提交 即执行成功并持久化数据
  8. COMMIT;
  9. -- 回滚 即执行失败并返回原来的数据
  10. ROLLBACK;
  11. -- 事务结束
  12. SET autocommit=1 -- 开启自动提交
  13. -- 了解
  14. SAVEPOINT 保存点名字 -- 设置一个事务的保存点
  15. ROLLBACK TO SAVEPOINT 保存点名 -- 回滚到保存点
  16. RELEASE SAVEPOINT 保存点名 -- 撤销保存点

🙋‍♀️ 转账示例

INSERT INTO account(username,money)
VALUES ('A',100.000),("B",1000.00)

SET autocommit=0;-- 关闭自动提交
START TRANSACTION;-- 开启一个事务
UPDATE account SET money=money-50 WHERE username='A';-- A-50
UPDATE account SET money=money+50 WHERE username='B';-- B+50
COMMIT;-- 提交
ROLLBACK;-- 回滚
SET autocommit=1;-- 恢复默认值