デフォルトにより、MySQL は自動コミット
        モードが有効な状態で各クライアント接続を起動します。自動コミットが有効な時、もしステートメントがエラーを返さなければ
        MySQL は各 SQL
        ステートメントの後にコミットを行います。もし
        SQL
        ステートメントがエラーを返したら、コミットやロールバック性能はそのエラーによって決まります。詳しくは
        項13.5.15. 「InnoDB エラー処理」
        を参照してください。
      
もし自動コミット モードがオフで、最後のトランザクションを明示的にコミットせずに接続を閉じると、MySQL はそのトランザクションをロールバックします。
        次の各ステートメント(そしてそれらの同義語)は、まるでステートメントを実行する前に
        COMMIT
        を行ったかのように、暗黙にトランザクションを終了します。
      
            ALTER FUNCTION、ALTER
            PROCEDURE、ALTER
            TABLE、BEGIN、CREATE
            DATABASE、CREATE
            FUNCTION、CREATE
            INDEX、CREATE
            PROCEDURE、CREATE
            TABLE、DROP
            DATABASE、DROP
            FUNCTION、DROP
            INDEX、DROP
            PROCEDURE、DROP
            TABLE、LOAD DATA INFILE
            LOCK TABLES、RENAME
            TABLE、SET
            AUTOCOMMIT=1、START
            TRANSACTION、TRUNCATE
            TABLE、UNLOCK TABLES
          
            MySQL 5.1.3 から、ALTER
            VIEW、CREATE
            TRIGGER、CREATE
            USER、CREATE
            VIEW、DROP
            TRIGGER、DROP
            USER、DROP VIEW、そして
            RENAME USER
            ステートメントは暗黙的なコミットを引き起こすようになりました。
          
            UNLOCK TABLES
            は、もしテーブルが現在 LOCK
            TABLES
            でロックされていたらトランザクションを行います。これは、FLUSH
            TABLES WITH READ LOCK
            ステートメントがテーブル レベル
            ロックを取得しない為、これに続く
            UNLOCK TABLES
            に対しては行われません。
          
            InnoDB 内の CREATE
            TABLE
            ステートメントは単一トランザクションとして生成されます。これは、ユーザからの
            ROLLBACK
            はトランザクションの最中にユーザが作成した
            CREATE TABLE
            ステートメントを解除しないという意味です。
          
            CREATE TABLE と DROP
            TABLE は、もし TEMPORARY
            キーワードが利用されたらトランザクションを実行しません。(これは、コミットを引き起こさない
            CREATE INDEX のようなテンポラリ
            テーブルへのその他の操作には当てはまりません。)
          
            MySQL 5.1.11 以前では、LOAD DATA
            INFILE は全てのストレージ
            エンジンに対して暗黙的なコミットを引き起こしました。MySQL
            5.1.12 からは、 NDB
            ストレージエンジンを利用しているテーブルに対してだけ暗黙的なコミットを引き起こすようになりました。更なる情報については、バグ
            #11151を参照してください。
          
        トランザクションはネスト化されません。これは、START
        TRANSACTION
        ステートメントかその同義語の1つを発行する時点でのトランザクションに対して実行される、暗黙的な
        COMMIT の結果です。
      
        トランザクションが ACTIVE
        状態の間は、暗黙的なコミットを引き起こすステートメントは
        XA
        トランザクションでは利用する事はできません。
      

