mysql - 事务

mysql - 事务

事务的四大特征:ACID

(A)原子性:事务是最小的单位,不可以在分割。
(C)一致性:事务要求,同一事务中的sqL语句,必须保证同时成功或者同时失败。
( I )隔离性:事务1和事务2之间是具有隔离性的
(D)持久性:事务一旦结束( commit),就不可以返回(rollback)。

查询事务是否开启自动提交:select @@autocommit;

打开事务自动提交:set autocommit=1

关闭事务自动提交:set autocommit=0;

手动提交:commit

事务回滚:rollback

注:关闭自动提交可以实现操作回滚,但每次操作完数据需要commit手动提交。(和git操作类似)autocommit或commit的数据,都是无法回滚的

临时开启一个事务:begin(或start transaction);

临时开启是事务,可以在commit前回滚

begin;
sql语句
sql语句
sql语句
rollback

事务隔离级别

读未提交的:read uncommitted;
查询未commit的数据

读已经提交的:read committed
读取已commit的数据

可以重复读:repeatable read
多个人同时对一张表进行操作时,容易幻读。

串行化:serializable
多个人同时对一张表进行操作时,如果某用户操作表时,其他用户将暂停写入。

查看隔离级别:

#show变量
show variables like "%isolation%";

#也可以通过select查看
#####mysql8.0版本
#查看全局级别
select @@global.transaction_isolation;
#查看回话级别
select @@transaction_isolation;

#####mysql5.x版本
#查看全局级别
select @@global.tx_isolation;
#查看回话级别
select @@tx_isolation;

修改隔离级别

#修改全局
set global transaction isolation level 《级别》;
#修改会话级别
set session transaction isolation level 《级别》;
good good study, day day up!

发表评论

textsms
account_circle
email

mysql - 事务
事务的四大特征:ACID (A)原子性:事务是最小的单位,不可以在分割。(C)一致性:事务要求,同一事务中的sqL语句,必须保证同时成功或者同时失败。( I )隔离性:事务1和事务2之间是具有…
扫描二维码继续阅读
2021-10-08