Por padrão, MySQL é executado em modo autocommit. Isto significa que assim que você executa uma instrução que atualiza (modifica) uma tabela, o MySQL armaena a atualização no disco.
        Se você estiver usando tabelas com segurança a transação
        (como InnoDB \ ou BDB),
        você pode colocar o MySQL em modo não autocommit com o
        seguinte comando:
      
SET AUTOCOMMIT=0
        Depois de disabilitar o modo autocommit configurando a variável
        AUTOCOMMIT com zero, você deve utilizar
        COMMIT para armazenar suas alterações em
        disco ou ROLLBACK se você deseja ignorar as
        alterações que você fez desde o início da sua transação.
      
        Se você quiser disabilitar o modo autocommit para uma única
        série de instruções, você pode utiliar a instrução
        START TRANSACTION:
      
START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summmary=@A WHERE type=1; COMMIT;
        BEGIN e BEGIN WORK podem
        ser usados em vez de START TRANSACTION para
        iniciar uma transação. START TRANSACTION
        foi adicionado no MySQL 4.0.11; ele é uma sintaxe do SQL-99 e
        é o modo recomendado de iniciar umaa transação an ad-hoc.
        BEGIN e BEGIN WORK estão
        disponíveis a partir do MySQL 3.23.17 e 3.23.19,
        respectivamente.
      
Note que se você estiver usando tabelas sem segurança a transação, quaisquer alterações serão armazenadas de uma vez, se considerar o status do modo autocommit.
        Se você executar uma instrução ROLLBACK
        depois de atualizar uma tabela não-transacional, você obterá
        um erro (ER_WARNING_NOT_COMPLETE_ROLLBACK),
        como um aviso. Todas as tabelas seguras a transação serão
        restauradas mas qualquer tabela se segurança a transação não
        sofrerão alterações.
      
        Se você estiver usando START TRANSACTION ou
        SET AUTOCOMMIT=0, você deve usar o log
        binário do MySQL para backup no lugar do antigo log de
        atualização. Transações são armazenadas no log binário em
        um bloco, sobre COMMIT, para assegurar que
        transações nas quais foram feitas rolled back não foram
        armazenadas. See Secção 4.10.4, “O Log Binário”.
      
        Você pode alterar o nível isolação para transações com
        SET TRANSACTION ISOLATION LEVEL. See
        Secção 6.7.6, “Sintaxe SET TRANSACTION”.
      
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

