Erro: Some non-transactional changed tables couldn't be rolled back


Se você obter o erro/aviso: Warning: Some non-transactional changed tables couldn't be rolled back ao tentar fazer um ROLLBACK, isto significa que algumas das tabelas que você utiliza na transação não suportam transações. Estas tabelas não transacionaisn não serão afetadas pela instrução ROLLBACK.

O caso mais comum em que isto acontece é quando você tenta criar uma tabela de um tipo que não é suportado por seu binário mysqld. Se o mysqld não suporta um tipo de tabela (ou se o tipo de tabela está disabilitado por uma opção de inicialização), ele criará a tabela com o tipo mais comumente usado em suas outras tabelas, que é provavelmente o MyISAM.

Você pode verificar o tipo de uma tabela fazendo:

SHOW TABLE STATUS LIKE 'nome_tabela'. Leia "SHOW TABLE STATUS".

Você pode verificar as extensão que seu binário mysqld suporta com:

show variables like 'have_%'. Leia "SHOW VARIABLES".

Retornar