Опять же разбираем проблему отката транзакций в mysql.
Пишут, что:
....в случае SQL ошибки, транзакция сама по себе не откатится.
С этим утверждением не всё ясно.
Вот тут показана подобная ситуация (демонсрация для командной строки):