транзакция базы данных - PullRequest
0 голосов
/ 07 апреля 2010

Если я использую клиент mysql (например, squirrel) для выполнения запроса на обновление, через 10 секунд я отменил запрос, будет ли частичное обновление, или все, что будет сделано, будет откатано?

Ответы [ 3 ]

1 голос
/ 07 апреля 2010

Возможно, вы захотите просмотреть документацию MySQL о НАЧАЛЕ СДЕЛКИ, КОМИТЕТА И ОТДЕЛКИ.

Я полагаю, что это будет зависеть от выбранного вами движка (например, InnoDB), и я увидел следующий комментарий о ROLLBACK:

Если вы выполните оператор ROLLBACK после обновления нетранзакционного таблица в транзакции, ER_WARNING_NOT_COMPLETE_ROLLBACK предупреждение происходит. Изменения в таблицы транзакций безопасны назад, но не меняется на нетранзакционно-безопасные таблицы.

0 голосов
/ 07 апреля 2010

Если у MySql есть какие-либо претензии на то, что он является настоящей базой данных, он откатит все назад, особенно в случае одного оператора обновления.

0 голосов
/ 07 апреля 2010

Если ваш запрос заключен в блок транзакции и если вы остановили его посередине, все будет откатано.

...