赞
踩
数据库被锁问题:
java中对数据库操作时最近老是出现被锁住问题,总结一下。
1.同一个事务里如果对某一张表进行更新之后再进行其他操作,例如:insert,这时数据库是不会上锁的,因为是在同一个事务里,等更新操作全部结束之后,这个事务会统一提交。
2.假如A和B两个事务同时对某一条数据进行更新操作,如果A事务先开始执行,那么A事务所操作的这部分数据被锁定,B事务无法进行修改,B事务会等待A事务动作提交之后才开始执行,如果等待超时,B事务会取消动作。
3.我的代码中看到自己是手动提交的,这样A事务永远不会提交,B事务会一直等待,就会造成死锁。所以一般java中操作数据库时一般使用同一个连接统一进行提交和回滚。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。