С MySQL, как начать;ROLLBACK;и COMMIT;относятся к автокоммиту? - PullRequest
1 голос
/ 10 марта 2012

Кажется, что вы можете достичь всего, что вам нужно, с транзакциями, используя только BEGIN;ROLLBACK и COMMIT ;.Существуют ли определенные сценарии, которые требуют использования автоматической фиксации?Звонок НАЧИНАЕТСЯ;установить автокоммит на false?Звонит ли COMMIT;установить автокоммит на true?

1 Ответ

1 голос
/ 10 марта 2012

autocommit может быть установлен для сеанса или глобально.Нет сценария, который требует автоматической фиксации (не все RDMS поддерживают режим автоматической фиксации).По моему мнению, причина, по которой autocommit представлен и имеет значение true по умолчанию, заключается в том, что механизм MyISAM вообще не поддерживает транзакции, поэтому для облегчения переноса приложений, написанных для MyISAM, они имитируют то же поведение.

Звонит ли НАЧИНАЕТСЯ;установить автокоммит на false?Звонит ли COMMIT;установить для autocommit значение true?

Из документации mysql

Чтобы отключить режим автоматической фиксации для одной серии операторов, используйте оператор START TRANSACTION:..
С START TRANSACTION, автоматическая фиксация остается отключенной, пока вы не завершите транзакцию с помощью COMMIT или ROLLBACK.Затем режим автоматической фиксации возвращается в прежнее состояние.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...