MySQL事务

MySQL事务,第1张

MySQL事务

当执行事务 *** 作时,MySQL会在表上加锁,防止其他用户改表的数据.这对用户来讲是非常重要的.
如果不开启事务,默认是自动提交的,不能回滚;

1.事务的重要 *** 作:
//1.开始一个事务,方式1
start transaction
//1.开始一个事务,方式2
set autocommit=off
//2.设置保存点,可以创建多个保存点
savepoint 保存点名
//3.回退事务
rollback to 保存点名
//4.回退全部事务,如果没有创建保存点,直接回退到开始状态
rollback 
//5.提交事务,所有事务 *** 作生效,删除之前所有保存点,释放锁,数据生效,不能回退了
commit
2.隔离级别

保证多个连接获取数据的准确性

//查看当前会话隔离级别
select @@tx_isolation

不考虑隔离级别的三种可能:

脏读(dirty read):看到其他事务未提交的修改
不可重读的(nonrefundable read):看到其他事务提交的修改或删除
幻读(phantom read):看到其他事务提交的插入

四种隔离级别:
读未提交(read uncommitted):出现 脏读/不可重读/幻读 读的时候不加锁
读已提交(read committed):出现 不可重读/幻读 读的时候不加锁
可重复的(repeatable read):不会出现上面的三种 读的时候不加锁
可串行化(serializable):不会出现上面的三种 读的时候加锁

3.acid特性

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5685809.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存