sql >> データベース >  >> RDS >> Mysql

MySQLトランザクションでコミットされていない書き込みがあるかどうかを確認するにはどうすればよいですか?

    これは非常に興味深い質問です。コミットを発行することで、実行しているセッションに違いが生じるかどうかを判断する明確な方法はないと思います。

    show innodb statusのトランザクションを確認できます または show engine innodb status しかし、私はあなたがそれらのトランザクションでコミットを発行できるとは思いません。

    INNODB_TRX information_schemaのテーブルには、現在実行中のトランザクションが表示されます: https: //dev.mysql.com/doc/refman/5.5/en/innodb-trx-table.html 繰り返しますが、強制的にコミットするためにできることはあまりありません。関連するプロセスを強制終了することで、それらをロールバックできます。

    トランザクションの開始 を使用してトランザクションを実行している場合 ストアドプロシージャでは、コミットとロールバックを手動で処理できます。 自動コミットを設定 することもできます ロールバックするタイミングとコミットするタイミングを制御するには、0に設定します。




    1. SQL構文の問題やコードの問題?インデックスが配列の範囲外だった。

    2. Pythonmysql.connectorを使用して文字列をエスケープする

    3. PHP変数を使用してMySQLテーブルを作成します

    4. 範囲基準を使用した結合テーブルでのMySQLの最適化