事务简介
![](https://img-blog.csdnimg.cn/3777a339963b483ea2cc829b766ea512.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_18,color_FFFFFF,t_70,g_se,x_16)
事务操作
![](https://img-blog.csdnimg.cn/f4ea575b87d4481b834516f2c12dd8a6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_20,color_FFFFFF,t_70,g_se,x_16)
select @@autocommit;
set @@autocommit = 0; -- 设置为手动提交
-- 转账操作 (张三给李四转账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 = '李四';
-- 提交事务
commit;
-- 回滚事务
rollback;
![](https://img-blog.csdnimg.cn/72c6ccf473de492f8c15540fd808c07d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_20,color_FFFFFF,t_70,g_se,x_16)
set @@autocommit = 1; -- 设置为自动提交
start transaction ;
-- 转账操作 (张三给李四转账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 = '李四';
-- 提交事务
commit;
-- 回滚事务
rollback;
事务四大特征
![](https://img-blog.csdnimg.cn/59f8a4c8b46a452285d13f632d604f6e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_19,color_FFFFFF,t_70,g_se,x_16)
并发事务问题
![](https://img-blog.csdnimg.cn/5f232fe4c5b143029ae4a391412b1c48.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_20,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/61485aa697794f1799d65cbe7465e11c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_11,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/1385ec4f667e4b558ed2745967cde61a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_14,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/afbf6b949256428ca6472699fcf201d5.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_15,color_FFFFFF,t_70,g_se,x_16)
事务隔离级别
![](https://img-blog.csdnimg.cn/258f345568614f398c16c0d3a1e41beb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_20,color_FFFFFF,t_70,g_se,x_16)
-- 查看事务隔离级别
select @@transaction_isolation;
-- 设置事务隔离级别
set session transaction isolation level read uncommitted ;
总结
![](https://img-blog.csdnimg.cn/98163736f3bf4c199e32717843ae1e68.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JOd6IOW5a2Q77yIKl5fXirvvIk=,size_20,color_FFFFFF,t_70,g_se,x_16)