2013-03-16 3 views
0

Насколько я знаю для таблиц InnoDB в MySQL, все транзакции завернуты с помощью операции START TRANSACTION; и заканчивается COMMIT; если явно не указано.Сделки и AUTOCOMMIT в Mysql

Если бы я Явно определить блок транзакции, было бы правильным, чтобы сделать что-то вроде этого:

SET AUTOCOMMIT = 0; 
START TRANSACTION; 
[SQL STATEMENTS] 
COMMIT; 
SET AUTOCOMMIT = 1; 

ли следующая сделка после этого вернуться к тому, как InnoDB обрабатывает транзакции по умолчанию? Мое намерение состоит лишь в том, чтобы иногда иметь явно определенные транзакции в моем приложении, но все другие транзакции будут обрабатываться движком.

ответ

4

Вам не нужно устанавливать автосообщение в 0 в вашем случае. Определение транзакции неявно делает это для вас. От MySQL documentation: «Чтобы отключить автономный режим для отдельной серии операторов, используйте инструкцию START TRANSACTION:«

+0

Спасибо за ответ, Noha. – urbanspr1nter

Смежные вопросы