mysql事务

1.事务的四种特性

1.A 原子性,事务中的sql语句要么全都执行要么全都不执行。
2.C 一致性,事务保证数据的状态具有一致性,比如两个银行转账前两个人的总钱数和转账后的应该相同。
3.I 隔离性 ,这个由隔离级别决定隔离的程度,不同的隔离级别会解决的不同的并发问题。
4. D 持久性,修改的数据会写到磁盘上,一旦修改无法恢复。

1.事务并发问题

1.脏读:一个事务修改了数据,没提交,另一个事务就能看见他修改的内容。
2.不可重复度:一个事务修改了数据,提交了,另一个事务能看见他修改的内容。
3.幻读:一个事务插入了数据,提交了,另一个事务能看不见他修改的内容,但是能修改他插入的数据。

2.事务隔离级别

mysql支持四种隔离级别

read uncommit
read commit
repeatable read
serieable

默认的为第三种
从第二种开始分别解决上述三种问题(下面的解决了,上面的自然解决)。

3.常用代码

select @@transaction_isolation; #查询隔离级别
set session transaction isolation level = read commit;#设置隔离级别
show variables like "%autocommit%"; #查看自动提交开启否
set autocommit = 0;					#设置自动提交关闭
start transaction ;					#开启事务,如果上面设置完了,这个可以不用写
commit ;		
rollback;
savepoint a;						#设置保存点
rollback to a;						#回滚到保存点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值