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

COMMITまたはconn.setAutoCommit(true)

    通常はConnection.commit()を使用する必要があります Connection.setAutoCommit(true)ではありません トランザクションの使用からautoCommitの「ステートメントごとのトランザクション」モデルに切り替える場合を除いて、トランザクションをコミットします。

    そうは言っても、Connection.setAutoCommit(true)を呼び出す トランザクション中にトランザクションをコミットします(ドライバーがJDBC 4.1仕様のセクション10.1.1に準拠している場合)。ただし、接続でautoCommitを有効/無効にすると、単にコミットするよりも接続のオーバーヘッドが高くなる可能性があるため(たとえば、トランザクションマネージャーを切り替える必要があるため、追加のチェックを行うため)、その後autoCommitを維持する場合にのみこれを行う必要があります。など)。

    Connection.commit()も使用する必要があります ネイティブSQLコマンドCOMMITは使用しないでください 。接続のドキュメントで詳しく説明されているように:

    重要なのは、commit()のようなコマンドです。 およびsetAutoCommit(boolean) ResultSetsを閉じるなど、バックグラウンドでより多くの作業を行う可能性があります Statementsを閉じるかリセットします 。 SQLコマンドCOMMITを使用する これをバイパスし、ドライバー/接続を誤った状態にする可能性があります。



    1. MySQLデータベースの名前を変更します

    2. Wordpressはどのように投稿をデータベース内のカテゴリにリンクしますか?

    3. MYSQLは特定の行のみをダンプします

    4. クエリ文字列にもかかわらず、SQLCOUNTを使用すると-1を返すExecuteNonQuery