Heim  >  Fragen und Antworten  >  Hauptteil

So zeigen Sie ausstehende Transaktionen in MySQL an

<p>Ich habe einige Abfragen ausgeführt, ohne sie abzusenden. Dann wird die Anwendung gestoppt. </p> <p>Wie kann ich diese offenen Transaktionen anzeigen und absenden oder stornieren? </p>
P粉176151589P粉176151589441 Tage vor454

Antworte allen(2)Ich werde antworten

  • P粉463824410

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

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

    从 information_schema.innodb_trx\G 中选择*

    来自文档

    Antwort
    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

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

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

    Antwort
    0
  • StornierenAntwort