事务
·事务简介
·事务操作
·事务四大特性
·并发事务问题
·事务隔离级别
事务简介:
事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失效。
事务操作:
sql语句
select @@autocommit;
set @@autocommit =0; 设置为手动提交
SQL语句
commit;提交事务
rollback;回滚事务
·开启事务 start transaction 或者 begin
·提交事务: commiy
·回滚事务:rollback
事务的四大特性:
·原子性:事务是不可分割的最小操作单元,要么它全部成功,要么全部失败;
·一致性:事务完成时,必须使所有的数据都保持一致状态
·隔离性:数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行
·持久性:事务一旦提交或回滚它对数据库中的数据的改变就是永久的
并发事务问题
问题:
赃读:一个事务读到另一个事务还没提交的数据
不可重复度:一个事务先后读取同一条记录,但两次读取的数据不同,称之为不可重复度
幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时。又发现这行数据已经存在,好像出现了“幻影”
隔离级别 赃读 不可重复读 幻读
Read uncommitted 会出现 会出现 会出现
Read committed 不 会出现 会出现
Repeatable Read(默认) 不 不 会出现
Serializable 不 不 不
---查看事务隔离级别
select @@transaction_isolation
--设置事务隔离级别
set [session|global] transaction isolation level {read uncommtted| Read committed |Repeatable Read| Serializable}
标签:事务,隔离,Read,-------,提交,SQL,操作,数据
From: https://www.cnblogs.com/sulimin/p/18316786