SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.09.2012 08:54:40

animegirl
Активист
Зарегистрирован: 28.07.2011
Сообщений: 288

Транзакция для одного запроса

Имеет смысл использовать транзакцию для одного запроса. Для меня раньше транзакции имели смысл, когда одновременно надо было вставить несколько взаимосвязанных строчек в разные таблицы, которые получалось отослать, только через несколько запросов. Сейчас делая запрос на UPDATE я затрагиваю до 6-7 таблиц, но на автомате отказалась от транзакции, аргументируя себе тем, что если будет фэйл, то мне функция вернёт ошибку, и так как строчка одна, то либо случиться всё либо ничего. Но закралась ко мне тень сомнения так ли это.

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


Скажи миру - НЯ!

Неактивен

 

#2 13.09.2012 14:50:54

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Транзакция для одного запроса

Для одного запроса BEGIN и COMMIT автоматически подразумеваются, так как сервер работает по-умолчанию в режиме auto_commit=1

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson