2020_06_18Mysql事务
1、事务的基本介绍
1.概念:一个包含多个步骤的事务,被事务管理,要么同时成功,要么同时失败。
2.操作:
2.1 开启事务:start transaction;
2.2 回滚:rollback;
2.3 提交:commit
set @@autocommit; -- 1 代表自动提交 0 代表手动提交
2、事务的四大特征
2.1 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败
2.2 持久性:当事务提交或回滚后,数据库会持久化的保存数据
2.3 隔离性:多个事务之间,相互独立
2.4 一致性:事务操作前后,数据总量不变
3、事务的隔离级别
3.1 概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。
存在问题:
3.1.1 脏读:一个事务,读取到另一个事务中没有提交的数据
3.1.2 不可重复度:在同一个事务中,两次读取到的数据不一样
3.1.3 幻读:一个事务操作DML数据表中所有的记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改
3.2 隔离级别
3.2.1 read uncommitted:读未提交
3.2.2 read committed:读已提交
3.2.3 repeatable read:可重复度
3.2.4 serializable:串行化 可以解决所有的问题
*注意 :隔离级别从小到大安全性越来越高,但是效率越来越低
数据库查询隔离级别:*select @@tx_isolation;
*数据库设置隔离级别:
*set global transaction isolation level 级别字符串
mysql 默认的repeatable read

浙公网安备 33010602011771号