SQL--事务
什么是事务?
事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。
默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。
转账操作(张三给李四转1000块钱)
# 对于当前来现在的每个语句都是一个事务
# 1 查询张三账户的余额
select * from account where name='张三';
# 2.将张三账户余额-1000
update account set money=money-1000 where name='张三';
# 3.将李四账户余额+1000
update account set money=money+1000 where name='李四';
事务操作
查询当前事务的提交方式
# 1为自动提交 0为手动提交
select @@autocommit;
设置事务为手动提交
# 设置为手动提交事务
set @@autocommit=0;
提交事务
commit;
回滚事务
# 回滚
rollback;
事务操作(二)
# 方式2
# 对于当前来现在的每个语句都是一个事务
# 1 查询张三账户的余额
start group_replication ;
select * from account where name='张三';
# 2.将张三账户余额-1000
update account set money=money-1000 where name='张三';
程序抛出异常...
# 3.将李四账户余额+1000
update account set money=money+1000 where name='李四';
commit;
# 回滚
rollback;
事务的四大特性
并发事务问题
多个并发事务出现的问题.
脏读
不可重复读
幻影
标签:事务,name,--,money,account,SQL,where,1000 From: https://www.cnblogs.com/harper886/p/17648714.html