事务的四大特征: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 《级别》;
发表评论