Получение ошибки/предупреждения: Warning: Some non-transactional changed tables couldn't be rolled back при попытке сделать ROLLBACK означает, что для некоторых использованных в транзакции таблиц не поддерживаются транзакции. Команда ROLLBACK на эти нетранзакционные таблицы не подействует.
Наиболее типичный случай возникновения такой ошибки связан с попыткой создать таблицу, тип которой не поддерживается бинарником mysqld. Если mysqld не поддерживает тип таблиц (или тип таблиц отключен опцией при запуске), то сервер создаст таблицу с типом, наиболее близким к запрошенному (скорее всего, MyISAM).
Чтобы проверить тип таблицы, следует выполнить:
SHOW TABLE STATUS LIKE 'table_name'. See section 4.5.6.2 SHOW TABLE STATUS.
Можно проверить, какие расширения поддерживает исполняемый файл mysqld, выполнив:
show variables like 'have_%'. See section 4.5.6.4 SHOW VARIABLES.