MySQL的事务

MySQL的事务

事务:要么都成果,要么都失败

即,在事务中的事件:

1、如果都成功了,就提交事务,被持久化(COMMIT; )

2、如果有一个失败了,就恢复到最初,回滚(ROLLBACK; )

account表如下:

id名字钱数
1 A 2000
2 B 10000

完整代码如下:(注意,这个代码不是能一下运行出的,只能一步步执行)

-- 模拟转账事务
SET autocommit = 0;  -- 关闭自动提交
START TRANSACTION    -- 开启一组事务
UPDATE account SET `钱数`=`钱数`-500 WHERE `名字`='A'  -- A减500
UPDATE account SET `钱数`=`钱数`+500 WHERE `名字`='B'  -- B加500

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

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

效果:

 

posted @ 2020-02-28 01:19  WZ_BeiHang  阅读(88)  评论(0编辑  收藏  举报