【发布时间】:2017-08-15 13:34:49
【问题描述】:
我是 MySQL 数据库的新手,遇到了一些表锁/死锁问题。我们正在运行一个每天运行大量事务的系统,有时会发生死锁。如果交易超过等待超时,我想知道交易发生了什么。他们是否被取消(回滚)?我们需要再次手动运行事务还是在解决死锁后应用程序自动重试事务? 我正在使用带有 Innodb 引擎的 MySQL 5.7。
谢谢
【问题讨论】:
标签: mysql database transactions
我是 MySQL 数据库的新手,遇到了一些表锁/死锁问题。我们正在运行一个每天运行大量事务的系统,有时会发生死锁。如果交易超过等待超时,我想知道交易发生了什么。他们是否被取消(回滚)?我们需要再次手动运行事务还是在解决死锁后应用程序自动重试事务? 我正在使用带有 Innodb 引擎的 MySQL 5.7。
谢谢
【问题讨论】:
标签: mysql database transactions
不管你使用的是什么数据库,如果你使用的是事务,它只会在成功时提交,即如果你仔细观察,在你写的尝试结束时有一个提交事务命令 ,除非该行被调用,否则不会对数据库进行任何更改因此您可以放心,它会在超时错误的情况下回滚
【讨论】: