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
".