如何显示MySQL中未完成的事务
P粉176151589
P粉176151589 2023-08-27 16:03:45
0
2
450
<p>我在没有提交的情况下进行了一些查询。然后应用程序被停止。</p> <p>如何显示这些未结交易并提交或取消它们?</p>
P粉176151589
P粉176151589

全部回复(2)
P粉463824410

虽然在这种情况下不会有任何剩余事务,正如@Johan所说,但如果你愿意,你可以通过下面的查询查看InnoDB中当前的事务列表。

从 information_schema.innodb_trx\G 中选择*

来自文档

P粉726133917

没有打开的事务,MySQL 将在断开连接时回滚事务。
您无法提交事务 (IFAIK)。

您使用以下方式显示线程

SHOW FULL PROCESSLIST

参见:http://dev.mysql.com/ doc/refman/5.1/en/thread-information.html

这对您没有帮助,因为您无法从断开的连接提交事务。

连接中断时会发生什么
来自 MySQL 文档: http://dev.mysql.com/ doc/refman/5.0/en/mysql-tips.html

另请参阅:http://dev.mysql.com /doc/refman/5.0/en/auto-reconnect.html

如何诊断和解决此问题
检查自动重新连接:

确保将最后一个查询(交易)保留在客户端中,以便您可以在需要时重新提交。
并禁用自动重新连接模式,因为这很危险,请改为实现您自己的重新连接,以便您知道何时发生丢弃并且可以重新提交该查询。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!