事务隔离与更改数据库的关系

本文探讨了事务隔离级别如何影响数据库更改操作,特别是在update、insert和delete操作中,确保数据一致性和正确性的关键机制。文章解释了行排他锁的作用,以及在不同事务间如何实现正确的叠加效果,即使在删除和更新冲突时也能保证数据库状态的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

10)事务隔离与更改数据库的关系:

当 然,为了保持数据的一致性和数据库的正确性,涉及到同时改变数据库(update,insert,delete)时,不管任何的隔离级别,事务一定是序列 的执行的。先执行的事务挡住(block)后执行的事务正好要改变数据库的那句话(换句话说,在那句话后面的事务就卡在那了)。后执行的事务需要获得相关 行的“行排他锁”才能改数据。先执行的,一定是事务完成才释放“行排他锁”。注意不止是那句更新完成就释放“行排他锁”。先执行的事务一完成,后面的事务 立刻继续。注意二者都commit后,对数据库的改变是叠加的。只要commit,改变就不会白做,保证了数据库的正确性。(查事务的ACID的 Durable的特性)比如一个insert,另一个update,效果也叠加,即使update的select时,还看不见insert的东西。只要对 准那个insert的row的主键update,更新就不白做。两个都update,效果更是叠加了。如果你delete,我看不见,我还update, 就白做了,也好理解,因为你先delete了嘛!具体见“REPEATABLE-READ隔离级别”

更多请见:http://www.mark-to-win.com/tutorial/jsp_7_RelationIsolationModifyDB.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值