0
点赞
收藏
分享

微信扫一扫

MySQL【事务】

小贴贴纸happy 2022-04-16 阅读 81
sqlmysql

事务处理:

方案一:

start transaction;开启事务
commit;            提交事务
rollback;          回滚事务

常见的组合:
提交:

start transaction;
   sql语句
commit;

回滚:

start transaction;
   sql语句
rollback;

在这里插入图片描述
方案二:

select @@autocommit//查看当前的提交方式是自动还是手动。
1:自动提交
0:手动提交
set @@autocommit = 0; //改为手动提交

在这里插入图片描述

事务的四大特性:

1、原子性:原子是化学反应中最小的粒子,不能再分割了。
2、持久性:就是指通过事务操作完的数据,也是永久的存储,永久的改变。
3、一致性:在使用事务操作的时候,操作前和操作后的数据是一致的。
4、隔离性:事务与事务之间是没有关系的,互相隔离,互相不干扰。但是,当多个事务并发操作同一张表的时候,就会打破隔离性。

如果隔离性被打破就会产生一些问题?

1、脏读:事务A 读到了 事务B 的未提交的数据。
2、不可重复读:事务A 读到了 事务B已经提交后的修改(update)的数据。
3、虚读(幻读):事务A 读到了 事务B 已经提交后的增加(insert)或者减少的数据。

事务的隔离级别?

1、read uncommitted:设置这个隔离级别,上面的山歌问题都会发生。
2、read committed(Oracle的默认隔离级别):设置这个隔离级别,能够解决脏读,但是会产生幻读和不可重复读。
3、repeattable read(MySQL的默认隔离级别):设置这个隔离级别,能够解决脏读,不可重复读,但是会产生幻读。
4、serializable:设置这个隔离级别,都能够解决。

查看当前的隔离级别?

select @@tx_isolation

修改隔离级别?

set global transaction isolation level ???;
举报

相关推荐

MySQL:事务

Mysql 事务

《MySQL》事务

mysql事务

事务——MySQL

【MySQL】事务

Mysql事务

0 条评论