찾다

 >  Q&A  >  본문

MySQL에서 미결제 트랜잭션을 표시하는 방법

<p>제출하지 않고 몇 가지 쿼리를 실행했습니다. 그런 다음 응용 프로그램이 중지됩니다. </p> <p>미결 거래를 어떻게 표시하고 제출하거나 취소합니까? </p>
P粉176151589P粉176151589513일 전501

모든 응답(2)나는 대답할 것이다

  • P粉463824410

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

    이 경우에는 남은 트랜잭션이 없지만 @Johan이 말했듯이 원하는 경우 아래 쿼리를 통해 InnoDB의 현재 트랜잭션 목록을 볼 수 있습니다.

    从 information_schema.innodb_trxG 中选择*

    문서에서:

    회신하다
    0
  • P粉726133917

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

    공개 트랜잭션이 없으면 MySQL은 연결 해제 시 트랜잭션을 롤백합니다.
    트랜잭션(IFAIK)을 커밋할 수 없습니다.

    를 사용하여 스레드를 표시합니다. 으아악

    참조: 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
  • 취소회신하다