上海做高端网站制,辽宁省工程造价管理总站,唐山网站建设制作,网站正在建设中空白模板目录 1. 简介2. 事务操作3. 四大特性4. 并发事务问题5. 脏读6. 不可重复读7. 幻读事务隔离级别参考链接 1. 简介
事务是一组操作的集合#xff0c;它是一个不可分割的工作单位#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求#xff0c;即这些操作… 目录 1. 简介2. 事务操作3. 四大特性4. 并发事务问题5. 脏读6. 不可重复读7. 幻读事务隔离级别参考链接 1. 简介
事务是一组操作的集合它是一个不可分割的工作单位事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求即这些操作要么同时成功要么同时失败。 默认的MySQL的事务是自动提交的当执行一条DML语句MySQL会立即隐式的提交事务
2. 事务操作
查看/设置事务提交方式 SELECT autocommit; SET autocommit 0;提交事务 COMMIT;回滚事务 ROLLBACK;
select * from commodity;select autocommit;-- 手动提交set autocommit 0;-- 涨价
-- 1. 查询鼠标的价格select price from commodity where name 鼠标;-- 2. 修改update commodity set price price 100 where name 鼠标;update commodity set price price 100 where name U盘;commit;-- 回滚事务rollback;开始事务 START TRANSACTION 或 BEFIN;提交事务 COMMIT;回滚事务 ROLLBACK;
3. 四大特性
原子性事务是不可分割的最小操作单元一致性事务完成时必须使所有的数据都保持一致状态隔离性数据库系统提供的隔离机制保证事务在不受外部并发操作影响的独立环境下运行持久性事务一旦回滚或提交对数据库中的数据的改变是永久的
4. 并发事务问题
脏读一个事务读到另外一个事务还没有提交的数据 不可重复读一个事务先后读取一条记录但两次读取的数据不同称之为不可重复读 幻读一个事务按照条件查询数据时没有对应的数据行但是在插入数据时又发现这行数据已经存在好像出现了“幻影”。
5. 脏读
设置事务隔离级别 set session transaction isolation leel read uncommitted; 开启事务 start transaction; 修改aaa的money尚未提交然而事务A却变化了 回滚后跟着变化 修改事务的隔离级别同时开启事务 set session transaction isolation level read committed; 不再改变可以解决脏读
6. 不可重复读
不提交之前进行读取提交后进行读取 同一个事务结果却不一样 把隔离级别再升一级 set session transaction isolation level repeatable read; 这个时候就不会出现不可重复读
7. 幻读 这里存在了报错 设置隔离级别 set session transaction isolation level serializable;
事务隔离级别
画表示无法解决
参考链接
无。。。