首页  >  问答  >  正文

如何显示MySQL中未完成的事务

<p>我在没有提交的情况下进行了一些查询。然后应用程序被停止。</p> <p>如何显示这些未结交易并提交或取消它们?</p>
P粉176151589P粉176151589391 天前426

全部回复(2)我来回复

  • P粉463824410

    P粉4638244102023-08-28 11:18:36

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

    从 information_schema.innodb_trx\G 中选择*

    来自文档

    回复
    0
  • P粉726133917

    P粉7261339172023-08-28 09:36:30

    没有打开的事务,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

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

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

    回复
    0
  • 取消回复