ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

测试事务实现转账

2021-09-25 09:33:05  阅读:170  来源: 互联网

标签:转账 autocommit 事务 set -- money SET 测试


-- =========================事务==============================


-- mysql是默认开启事务自动提交的
set autocommit=0  -- 关闭
set autocommit=1  -- 开启(默认的)


-- 手动处理事务
set autocommit=0   -- 关闭自动提交


-- 事务开启
start transaction -- 标记一个事务的开始,从这个之后的sql都在同一个事务内

insert xx
insert xx

-- 提交:持久化(成功!)
commit

-- 回滚:回到原来的样子(失败!)

rollback

-- 事务结束

set autocommit=1  -- 开启自动提交



-- 了解
savepoint 保存点名  -- 设置一个事务的保存点
rollback to savepoint 保存点名 -- 回滚到保存点
release savepoint 保存点名   -- 撤销保存点

 

 


-- 模拟转账:事务
SET autocommit = 0; -- 关闭自动提交
START TRANSACTION -- 开启一个事务(一组事务)


UPDATE ACCOUNT SET money=money-500 WHERE `name` ='A'   -- A减500
UPDATE ACCOUNT SET money=money+500 WHERE `name` ='B'   -- B加500

COMMIT    -- 提交事务,就被持久化了!
ROLLBACK;   -- 回滚

SET autocommit=1;   -- 恢复默认值

 

标签:转账,autocommit,事务,set,--,money,SET,测试
来源: https://www.cnblogs.com/zypdbk/p/15333449.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有