MySQL多个事务递增同一行

时间:2015-09-09 07:54:00

标签: java mysql concurrency transactions locking

我需要帮助来理解更新数据库同一行的并发事务的结果行为。

数据库:MySQL

方案: 1)交易A将更新行(1,2,3) 2)交易B将更新第(1,3,4)行

由于两个事务都是并行执行的,因此在自动提交模式关闭时,最终状态(第1行和第3行)是否会反映A和B所做的更改,或者存在数据丢失的可能性。 / p>

如果交易只是递增数据记录,答案也会改变吗?

1 个答案:

答案 0 :(得分:0)

如果两个事务都更新同一行,则第二个事务将被阻塞,直到第一个事务被回滚或提交。换句话说,交易最终不会并行运行。

这实际上取决于隔离级别,有关详细信息,请参阅http://developer.mimer.com/documentation/latest_jdbcguide_html/programming.html