📜 大致操作
SET autocommit=0; -- 关闭事务SET autocommit=1; -- 开启事务(默认选项)-- 手动处理事务演示SET TRANSACTION; -- 标记一个事务的开始,从这个之后的sql都被划分为一个事务INSERT xx;INSERT xx;-- 提交 即执行成功并持久化数据COMMIT;-- 回滚 即执行失败并返回原来的数据ROLLBACK;-- 事务结束SET autocommit=1 -- 开启自动提交-- 了解SAVEPOINT 保存点名字 -- 设置一个事务的保存点ROLLBACK TO SAVEPOINT 保存点名 -- 回滚到保存点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;-- 恢复默认值