次の各ステートメント(そしてそれらの同義語)は、まるでステートメントを実行する前に
        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.15 から、CREATE TABLE ...
            SELECT
            はステートメントが実行される前後に暗黙的なコミットを引き起こすようになりました。しかし、CREATE
            TEMPORARY TABLE ... SELECT
            には何のコミットも起きません。
          
            MySQL 5.1.11 以前では、LOAD DATA
            INFILE は全てのストレージ
            エンジンに対して暗黙的なコミットを引き起こしました。MySQL
            5.1.12 からは、 NDB
            ストレージエンジンを利用しているテーブルに対してだけ暗黙的なコミットを引き起こすようになりました。更なる情報については、バグ
            #11151を参照してください。
          
            MySQL 5.1.15 以降では、非テンポラリ
            テーブルを作成している時 CREATE TABLE
            ... SELECT
            ステートメントは暗黙的なコミットを含みます。これは、ロールバック後にマスタ上でテーブルを作成する事ができてもバイナリログ内での記録に失敗する為スレーブには複製されない、という複製の最中での発行を防ぐ為の物です。更なる情報については、バグ
            #22865を参照してください。
          
        トランザクションはネスト化されません。これは、START
        TRANSACTION
        ステートメントかその同義語の1つを発行する時点でのトランザクションに対して実行される、暗黙的な
        COMMIT の結果です。
      
        トランザクションが ACTIVE
        状態の間は、暗黙的な作業を引き起こすステートメントは
        XA
        トランザクションでは利用する事はできません。
      

