1、事务
- 多条sql 语句,可能会有同时成功的要求,要么就同时失败
mysql默认是开启事务的(自动提交),禁止回滚
select @@autocommit;
set autocommit=1;
开启回滚
// 1
set autocommit=0;
// 2
begin
// 2
start transaction
事务回滚
rollback;
事务提交
commit;
事务的四大特征
- A 原子性:事务是最小的单位,不可以再分割
- C 一致性:事务要求,同一事务中的sql语句,必须保证同时成功或同时失败
- I 隔离性:事务1 和事务2 之间具有隔离性
- D 持久性:事务一定结束(commit,rollback),就不可逆
2、事务的隔离性(以下隔离级别由低到高,性能由高到低)
- read uncommitted 读未提交的
- read committed 读已经提交的
- repeatable read 可以重复度
- serializable 串行化
查看数据库的隔离级别
// mysql v = 8.0
// 系统级别
select @@global.transaction_isolation;
// 会话级别
select @@transaction_isolation;
// mysql v < 8.0
// 系统级别
select @@global.tx_isolation;
// 会话级别
select @@tx_isolation;
修改隔离级别
selct @@global.transaction isolation level read uncommitted;
脏读
- 一个事务读到了另一个事务没有提交的数据,实际开发中是不允许出现的
网友评论