我需要帮助来理解更新数据库同一行的并发事务的结果行为。
数据库:MySQL
方案: 1)交易A将更新行(1,2,3) 2)交易B将更新第(1,3,4)行
由于两个事务都是并行执行的,因此在自动提交模式关闭时,最终状态(第1行和第3行)是否会反映A和B所做的更改,或者存在数据丢失的可能性。 / p>
如果交易只是递增数据记录,答案也会改变吗?
答案 0 :(得分:0)
如果两个事务都更新同一行,则第二个事务将被阻塞,直到第一个事务被回滚或提交。换句话说,交易最终不会并行运行。
这实际上取决于隔离级别,有关详细信息,请参阅http://developer.mimer.com/documentation/latest_jdbcguide_html/programming.html。