В mysql documentation указано, что определенные операторы вызовут неявное коммитирование во время транзакции. Например:Как предотвратить неявное совершение mysql
CREATE TABLE foo (bar INT);
START TRANSACTION;
INSERT INTO foo VALUES (1);
CREATE TEMPORARY TABLE mumble like foo;
ALTER TABLE mumble modify bar INT UNSIGNED;
ROLLBACK;
SELECT * FROM foo;
после отката, я получаю одну строку назад от обув - документация на самом деле говорит о том, что альтер таблица не должна вызывать неявное совершить, если вы используете ключевое слово временное, но ALTER TABLE ВРЕМЕННЫЙ Недопустимый синтаксис, и отбрасывание временной таблицы не вызывает неявной фиксации, поэтому я подозреваю, что есть только ошибка (по крайней мере, от 5.5.29)
В любом случае, что бы я хотел сделать чтобы mysql никогда не заключал неявно, но вместо этого отказывался/откатывался, если задана команда, которая вызовет неявное коммитирование.
Я подозреваю, что нет никакого способа сделать это, оглядевшись по сторонам, но я надеюсь, что ошибаюсь. Надеюсь, кто-то здесь знает :)
право, это обходной путь, я закончил делать что-то похожее - действительно надеюсь, что будет какой-то способ сделать это, но он появляется из отчетов об ошибках они также не планируют его исправлять. Спасибо, что нашли их. –